top
Loading...
5.13.MySQL查詢高速緩沖
5.13. MySQL查詢高速緩沖
5.13.1. 查詢高速緩沖如何工作
5.13.2. 查詢高速緩沖SELECT選項
5.13.3. 查詢高速緩沖配置
5.13.4. 查詢高速緩沖狀態和維護

查詢緩存存儲SELECT查詢的文本以及發送給客戶端的相應結果。如果隨后收到一個相同的查詢,服務器從查詢緩存中重新得到查詢結果,而不再需要解析和執行查詢。

如果你有一個不經常改變的表并且服務器收到該表的大量相同查詢,查詢緩存在這樣的應用環境中十分有用。對于許多Web服務器來說存在這種典型情況,它根據數據庫內容生成大量的動態頁面。

釋:查詢緩存不返回舊的數據。當表更改后,查詢緩存值的相關條目被清空。

釋:如果你有許多mysqld服務器更新相同的MyISAM表,在這種情況下查詢緩存不起作用。

釋:查詢緩存不適用于服務器方編寫的語句。如果正在使用服務器方編寫的語句,要考慮到這些語句將不會應用查詢緩存。參見 25.2.4節,“C API預處理語句”。

下面是查詢緩存的一些性能數據。這些結果是在Linux Alpha 2 x 500MHz系統(2GB RAM64MB查詢緩存)上運行MySQL基準組件產生的。

·         如果執行的所有查詢是簡單的(如從只有一行數據的表中選取一行),但查詢是不同的,查詢不能被緩存,查詢緩存激活率是13%。這可以看作是最壞的情形。在實際應用中,查詢要復雜得多,因此,查詢緩存使用率一般會很低。

·         從只有一行的表中查找一行數據時,使用查詢緩存比不使用速度快238%。這可以看作查詢使用緩存時速度提高最小的情況。

服務器啟動時要禁用查詢緩存,設置query_cache_size系統變量為0。禁用查詢緩存代碼后,沒有明顯的速度提高。編譯MySQL時,通過在configure使用--without-query-cache選項,可以從服務器中徹底去除查詢緩存能力。

作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html
北斗有巢氏 有巢氏北斗