亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

High Performance MySQL中有關mysql query cach

系統(tǒng) 2270 0
High Performance MySQL中有關mysql query cache的說明
2008-12-14 01:20
終于看了一直景仰的 High Performance MySQL Second Edition 一書,看了一些章節(jié)并把其中一些觀點記錄了下來,本文是整理 chapter 5. Advance MySQL features 部分觀點所得。

1. 何時cache
a) mysql query cache內(nèi)容為 select 的結果集, cache 使用完整的 sql 字符串做 key, 并區(qū)分大小寫,空格等。即兩個sql必須完全一致才會導致cache命中。
b) prepared statement永遠不會cache到結果,即使參數(shù)完全一樣。據(jù)說在 5.1 之后會得到改善。
c) where條件中如包含了某些函數(shù)永遠不會被cache, 比如current_date, now等。
d) date 之類的函數(shù)如果返回是以小時或天級別的,最好先算出來再傳進去。
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) 一旦表數(shù)據(jù)進行任何一行的修改,基于該表相關cache立即全部失效。
b) 為什么不做聰明一點判斷修改的是否cache的內(nèi)容?因為分析cache內(nèi)容太復雜,服務器需要追求最大的性能。

3. 性能
a) cache 未必所有場合總是會改善性能
當有大量的查詢和大量的修改時,cache機制可能會造成性能下降。因為每次修改會導致系統(tǒng)去做cache失效操作,造成不小開銷。
另外系統(tǒng)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. 內(nèi)存池 使用
mysql query cache 使用內(nèi)存池技術,自己管理內(nèi)存釋放和分配,而不是通過操作系統(tǒng)。內(nèi)存池使用的基本單位是變長的block, 一個result set的cache通過鏈表把這些block串起來。因為存放result set的時候并不知道這個resultset最終有多大。block最短長度為 query_cache_min_res_unit, resultset 的最后一個block會執(zhí)行trim操作。
(引用:High Performance MySQL 原書Figure 5-1 插圖)

定長:空間浪費
變長:需清理碎片
block 小: 鏈表超長,訪問大塊數(shù)據(jù)效率低。

另外發(fā)現(xiàn) surfchen 的 MySQL的Query Cache 對這方面的內(nèi)容描述也不錯,可以和本文互為補充。

High Performance MySQL中有關mysql query cache的說明


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 91精品免费高清在线 | 免费性生活视频 | 日日拍夜夜嗷嗷叫国产 | 亚洲日本va| 九九99香蕉在线视频美国毛片 | 精品成人免费一区二区在线播放 | 欧美成人看片黄a免费 | 日韩亚洲欧美性感视频影片免费看 | 快射影院| 亚洲第一免费视频 | 爱操综合网| 久久综合中文字幕一区二区三区 | 久久综合中文字幕一区二区三区 | 国产免费成人在线视频 | 国产三级精品三级男人的天堂 | 亚洲在线h | 97国产在线观看 | 欧美日韩精品国产一区二区 | 4虎在线| 九九热精彩视频 | 国产萝控精品福利视频免费 | 中文字幕日本不卡 | 久在线精品视频 | 看看的在线视频国产 | 一级毛片国产 | 国产欧美日韩看片片在线人成 | 日日干视频| 91亚洲国产系列精品第56页 | 欧美高清视频www夜色资源网 | 伊人色网站 | 4huh34四虎最新 | 日韩在线成人 | 亚洲国产成+人+综合 | 俄罗斯一级在线播放 | 中文字幕一区二区三区亚洲精品 | 狠狠成人 | 四虎成人免费视频 | 欧美视频一二三区 | 欧美一级性视频 | 九九精品在线 | 久久99精品久久久久子伦小说 |