高效能MySQL-查詢快取介紹

黄舟
發布: 2017-03-15 17:24:15
原創
1211 人瀏覽過


簡單點說,就是對於相同SQL可以跳過SQL解析和執行計畫產生階段,直接回傳快取的結果。也就是快取完整的SELECT 查詢結果。

1. MySQL查詢快取:

快取存放在一個哈希表中,透過一個哈希值引用。哈希值包括:查詢本身、目前查詢資料庫、客戶端協定等等。 但是需要注意的是SQL語句的任何不同都會導致快取命中失敗(空格、註解、變數名稱不同)

但是查詢快取也有嚴重的效能問題:
(1)讀取查詢之前必須檢查是否命中快取

(2)查詢如果不在快取會被放入快取中,佔用系統消耗

#(3)當資料表新更新了數據,快取就會失效,帶來很大的系統損耗。

很明顯快取和快取失效都會帶啦很嚴重的系統消耗,在高並發下查詢快取可能會帶來系統效能下降以及僵死。所以建議使用memcache這種記憶體資料庫來實現資料的快取。


簡單說,就是對於相同SQL可以跳過SQL解析和執行計畫產生階段,直接回傳快取的結果。也就是快取完整的SELECT 查詢結果。

1. MySQL查詢快取:

快取存放在一個哈希表中,透過一個哈希值引用。哈希值包括:查詢本身、目前查詢資料庫、客戶端協定等等。 但是要注意的是SQL語句的任何不同都會導致快取命中失敗(空格、註解、變數名稱不同)

但是查詢快取也有嚴重的效能問題:
(1)讀取查詢之前必須檢查是否命中緩存

(2)查詢如果不在緩存會被放入緩存中,佔用系統消耗

#(3)當數據表新更新了數據,緩存就會失效,帶來很大的系統損耗。

很明顯快取和快取失效都會帶啦很嚴重的系統消耗,在高並發下查詢快取可能會帶來系統效能下降以及僵死。所以建議使用memcache這種記憶體資料庫來實現資料的快取。

以上是高效能MySQL-查詢快取介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!