日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql select 缓存_mysql select缓存机制使用详解

發布時間:2025/3/15 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql select 缓存_mysql select缓存机制使用详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

mysql Query Cache 默認為打開。從某種程度可以提高查詢的效果,但是未必是最優的解決方案,如果有的大量的修改和查詢時,由于修改造成的cache失效,會給服務器造成很大的開銷,可以通過query_cache_type【0(OFF)1(ON)2(DEMAND)】來控制緩存的開關.

需要注意的是mysql query cache 是對大小寫敏感的,因為Query Cache 在內存中是以 HASH 結構來進行映射,HASH 算法基礎就是組成 SQL 語句的字符,所以 任何sql語句的改變重新cache,這也是項目開發中要建立sql語句書寫規范的原因吧

1. 何時cache

a) mysql query cache內容為 select 的結果集, cache 使用完整的 sql 字符串做 key, 并區分大小寫,空格等。即兩個sql必須完全一致才會導致cache命中。

b) prepared statement永遠不會cache到結果,即使參數完全一樣。據說在 5.1 之后會得到改善。

c) where條件中如包含了某些函數永遠不會被cache, 比如current_date, now等。

d) date 之類的函數如果返回是以小時或天級別的,最好先算出來再傳進去。

select * from foo where date1=current_date -- 不會被 cache

select * from foo where date1='2008-12-30' -- 被cache, 正確的做法

e) 太大的result set不會被cache (< query_cache_limit)

2. 何時invalidate

a) 一旦表數據進行任何一行的修改,基于該表相關cache立即全部失效。

b) 為什么不做聰明一點判斷修改的是否cache的內容?因為分析cache內容太復雜,服務器需要追求最大的性能。

3. 性能

a) cache 未必所有場合總是會改善性能

當有大量的查詢和大量的修改時,cache機制可能會造成性能下降。因為每次修改會導致系統去做cache失效操作,造成不小開銷。

另外系統cache的訪問由一個單一的全局鎖來控制,這時候大量>的查詢將被阻塞,直至鎖釋放。所以不要簡單認為設置cache必定會帶來性能提升。

b) 大result set不會被cache的開銷

太大的result set不會被cache, 但mysql預先不知道result set的長度,所以只能等到reset set在cache添加到臨界值 query_cache_limit 之后才會簡單的把這個cache 丟棄。這并不是一個高效的操作。如果mysql status中Qcache_not_cached太大的話, 則可對潛在的大結果集的sql顯式添加 SQL_NO_CACHE 的控制。

query_cache_min_res_unit = (query_cache_size – Qcache_free_memory) / Qcache_queries_in_cache

4. 內存池使用

mysql query cache 使用內存池技術,自己管理內存釋放和分配,而不是通過操作系統。內存池使用的基本單位是變長的block, 一個result set的cache通過鏈表把這些block串起來。因為存放result set的時候并不知道這個resultset最終有多大。block最短長度為 query_cache_min_res_unit, resultset 的最后一個block會執行trim操作。

Query Cache 在提高數據庫性能方面具有非常重要的作用。

其設定也非常簡單,僅需要在配置文件寫入兩行: query_cache_type 和 query_cache _size,而且 MySQL 的 query cache 非常快!而且一旦命中,就直接發送給客戶端,節約大量的 CPU 時間。

當然,非 SELECT 語句對緩沖是有影響的,它們可能使緩沖中的數據過期。一個 UPDATE 語句引起的部分表修改,將導致對該表所有的緩沖數據失效,這是 MySQL 為了平衡性能而沒有采取的措施。因為,如果每次 UPDATE 需要檢查修改的數據,然后撤出部分緩沖將導致代碼的復雜度增加。

query_cache_type 0 代表不使用緩沖, 1 代表使用緩沖,2 代表根據需要使用。

設置 1 代表緩沖永遠有效,如果不需要緩沖,就需要使用如下語句:

代碼如下

SELECT SQL_NO_CACHE * FROM my_table WHERE ...

如果設置為 2 ,需要開啟緩沖,可以用如下語句:

代碼如下

SELECT SQL_CACHE * FROM my_table WHERE ...

用 SHOW STATUS 可以查看緩沖的情況:

代碼如下

mysql> show status like 'Qca%';

+-------------------------+----------+

| Variable_name | Value |

+-------------------------+----------+

| Qcache_queries_in_cache | 8 |

| Qcache_inserts | 545875 |

| Qcache_hits | 83951 |

| Qcache_lowmem_prunes | 0 |

| Qcache_not_cached | 2343256 |

| Qcache_free_memory | 33508248 |

| Qcache_free_blocks | 1 |

| Qcache_total_blocks | 18 |

+-------------------------+----------+

8 rows in set (0.00 sec)

如果需要計算命中率,需要知道服務器執行了多少 SELECT 語句:

代碼如下

mysql> show status like 'Com_sel%';

+---------------+---------+

| Variable_name | Value |

+---------------+---------+

| Com_select | 2889628 |

+---------------+---------+

1 row in set (0.01 sec)

在本例中, MySQL 命中了 2,889,628 條查詢中的 83,951 條,而且 INSERT 語句只有 545,875 條。因此,它們兩者的和和280萬的總查詢相比有很大差距,因此,我們知道本例使用的緩沖類型是 2 。

而在類型是 1 的例子中, Qcache_hits 的數值會遠遠大于 Com_select

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持我們。

本文標題: mysql select緩存機制使用詳解

本文地址: http://www.cppcns.com/shujuku/mysql/230474.html

總結

以上是生活随笔為你收集整理的mysql select 缓存_mysql select缓存机制使用详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 操女人视频网站 | 亚洲精品久久久乳夜夜欧美 | 日本免费黄色小视频 | 亚洲第一精品网站 | 欧美日韩一区视频 | 夜夜狠| 99黄色| 黄色香蕉网站 | 99精品国产成人一区二区 | 国产欧美不卡 | 欧美精品 日韩 | 91国在线视频 | 中文字幕码精品视频网站 | www.超碰在线观看 | 18日本xxxxxxxxx95| 影音先锋成人资源站 | 国产精品情侣 | 丰满少妇高潮一区二区 | 日韩高清影视 | 激情视频在线免费观看 | 欧美一级爱爱 | 国产人妖一区二区三区 | 成人午夜激情视频 | www.一区二区三区 | 中文在线а√在线8 | 免费观看av网址 | 亚洲一二三 | 国内自拍网站 | 黄色av网址大全 | 日韩精品极品视频免费观看 | 中文字幕在线免费看线人 | 91精品日韩 | 日韩欧美国产高清91 | 午夜剧场黄色 | 高清国产在线 | 韩国三级hd中文字幕的背景音乐 | 国产精品入口免费 | 成人美女免费网站视频 | 91精品在线观看入口 | 日韩欧美一区二区在线观看 | 亚洲天堂小说 | 九九热在线精品 | 欧美日韩精品 | 色哟哟入口 | 精品黑人一区二区三区久久 | 中文字幕精品久久久久人妻红杏1 | 久久久97 | 伊人成年网 | aa级黄色片 | 躁躁躁日日躁 | 不卡的av在线免费观看 | 91视频免费网站 | 日韩欧美中文字幕在线播放 | 成人免费版欧美州 | 中日韩午夜理伦电影免费 | 手机看片日韩日韩 | 老头av | 国产精品国产三级国产 | 大尺度做爰床戏呻吟舒畅 | 男人和女人做爽爽视频 | 高清日韩av| 私库av在线| 亲切的金子餐桌片段的金子 | 第一色网站| 日韩欧美福利 | 国产理论影院 | 色播一区二区 | 国产又黄又粗的视频 | 亚洲精品在线一区二区 | 日韩伦理在线视频 | 中文字幕第一页久久 | 久久久久久久久国产精品 | 精品国产福利 | 一区二区三区小视频 | 青青在线观看视频 | 欧美日本韩国一区二区 | 人人人爽 | 最新在线视频 | 日本在线观看一区 | 伊人资源网 | 亚洲精品一区二区 | 欧美三级午夜理伦三级老人 | 日本一区二区免费电影 | 熟妇一区二区三区 | 久操热久操 | 天天操天天干视频 | 欧美在线播放一区二区 | 99久久精品日本一区二区免费 | 国产另类精品 | 男生操女生在线观看 | a视频免费| 强睡邻居人妻中文字幕 | 女王人厕视频2ⅴk | 午夜在线精品 | 打开免费观看视频在线播放 | 特黄特色大片免费播放器使用方法 | 男人天堂av网站 | 亚洲永久精品一区二区 | 日日夜夜人人 |