国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL優化之緩存優化(續)

2024-07-24 12:52:21
字體:
來源:轉載
供稿:網友

MySQL 內部處處皆緩存,等什么時候看了MySQL的源碼,再來詳細的分析緩存的是如何利用的。這部分主要將各種顯式的緩存優化:

    查詢緩存優化 結果集緩存 排序緩存 join 連接緩存 表緩存Cache 與表結構定義緩存Cache 表掃描緩存buffer MyISAM索引緩存buffer 日志緩存 預讀機制 延遲表與臨時表

    1、查詢緩存優化

    查詢緩存不僅將查詢語句結構緩存起來,還將查詢結果緩存起來。一段時間內,如果是同樣的SQL,則直接從緩存中讀取結果,提高查找數據的效率。但當緩存中的數據與硬盤中的數據不一致時,緩存就會失效。

    mysql> show variables like '%query_cache%';+------------------------------+---------+| Variable_name | Value |+------------------------------+---------+| have_query_cache | YES || query_cache_limit | 1048576 || query_cache_min_res_unit | 4096 || query_cache_size | 1048576 || query_cache_type | OFF || query_cache_wlock_invalidate | OFF |+------------------------------+---------+

    have_query_cache 是否支持查詢緩存。

    query_cache_limit 如果某條select語句的結果集大小超過了querycachelimit的值時,這個結果集將不會被添加到查詢緩存。

    query_cache_min_res_unit 查詢緩存是以塊來申請內存空間的,每次申請的塊大小為設定值。4K 是非常一個合理的值,不必修改。

    query_cache_size 查詢緩存的大小。

    query_cache_type 查詢緩存的類型,值有 0(OFF)、1(ON)、2(DEMOND)。OFF表示查詢緩存是關閉的。ON 表示查詢總是先到查詢緩存中去查找,除非在select 語句中包含sql_no_cache選項。 DEMOND 表示不適用緩存,除非在select 語句中包含sql_cache選項。

    query_cache_wlock_invalidate 該參數用于設置行級排它鎖與查詢緩存之間的關系,默認為為0(OFF),表示施加行級排它所的同時,該表的所有查詢緩存依然有效。如果設置為1(ON),表示事假行級排它鎖的同時,該表的所有查詢緩存失效。

    查看查詢緩存的命中率

    mysql> show status like 'Qcache%';+-------------------------+---------+| Variable_name | Value |+-------------------------+---------+| Qcache_free_blocks | 1 || Qcache_free_memory | 1031360 || Qcache_hits | 0 || Qcache_inserts | 0 || Qcache_lowmem_prunes | 0 || Qcache_not_cached | 0 || Qcache_queries_in_cache | 0 || Qcache_total_blocks | 1 |+-------------------------+---------+

    查看當前緩存的狀態信息:

    Qcache_free_blocks

    表示查詢緩存中處以重現狀態的內存塊數(碎片數量)。如果Qcache_free_blocks 的值較大,則意味著查詢緩存中碎片比較多,表明查詢結果集較小,此時可以減小query_cache_min_res_unit的值。使用flush query cache 會對緩存中的若干個碎片進行整理,從而得到一個比較大的空閑塊。緩存碎片率 = Qcache_free_blocks/ Qcache_total_blocks * 100%

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 榆树市| 行唐县| 汉源县| 铁岭县| 花莲县| 泾阳县| 宁远县| 大新县| 金湖县| 石林| 青川县| 五华县| 交城县| 德庆县| 武陟县| 永济市| 溧阳市| 兰考县| 淮安市| 曲靖市| 彭泽县| 凌云县| 台前县| 涡阳县| 怀集县| 平凉市| 佳木斯市| 中山市| 邯郸市| 南丰县| 温泉县| 黎城县| 瑞丽市| 淄博市| 英吉沙县| 巫山县| 海林市| 东光县| 墨玉县| 扬州市| 南平市|