MySQL資料庫的查詢緩衝機制

來源:互聯網
上載者:User

標籤:

MySQL資料庫的查詢緩衝機制2011-08-10 11:07 佚名 火魔網 字型大小:T | T

使用查詢緩衝機制,可以極大地提高MySQL資料庫查詢的效率,節省查詢所用的時間。那麼查詢緩衝機制是怎樣設定的呢?本文我們就來介紹這部分內容,希望能夠對您有所協助。

AD:

MySQL資料庫提供了查詢緩衝機制。使用該查詢緩衝機 制,MySQL將SELECT語句和查詢結果存放在緩衝區中,以後對於同樣的SELECT語句(區分大小寫),將直接從緩衝區中讀取結果。以節省查詢時 間,提高了SQL查詢的效率。本文我們主要就介紹一下MySQL資料庫的查詢緩衝機制,接下來就讓我們來一起瞭解一下這部分內容。

通過調節以下幾個參數可以知道query_cache_size設定得是否合理:

Qcache inserts

Qcache hits

Qcache lowmem prunes

Qcache free blocks

Qcache total blocks

Qcache_lowmem_prunes的值非常大,則表明經常出現緩衝不夠的情況,同時Qcache_hits的值非常大,則表明查詢緩衝使用 非常頻繁,此時需要增加緩衝大小Qcache_hits的值不大,則表明你的查詢重複率很低,這種情況下使用查詢緩衝反而會影響效率,那麼可以考慮不用查 詢緩衝。此外,在SELECT語句中加入SQL_NO_CACHE可以明確表示不使用查詢緩衝。

Qcache_free_blocks,如果該值非常大,則表明緩衝區中片段很多query_cache_type指定是否使用查詢緩衝。

如果設定為:

query_cache_size = 32M

query_cache_type= 1

得到如下狀態值:

Qcache queries in cache 12737 //表明目前緩衝的條數。

Qcache inserts 20649006

Qcache hits 79060095 //看來重複查詢率還挺高的。

Qcache lowmem prunes 617913 //有這麼多次出現緩衝過低的情況。

Qcache not cached 189896

Qcache free memory 18573912 //目前剩餘緩衝空間。

Qcache free blocks 5328 //這個數字似乎有點大,片段不少

Qcache total blocks 30953

如果記憶體允許,還可以將query_cache_size再設大一些。

關於MySQL資料庫查詢快取機制的介紹就到這裡了,如果您想瞭解更多MySQL資料庫的知識,可以去這裡看一看:http://database.51cto.com/mysql/,相信一定能夠給您帶來收穫的!

MySQL資料庫的查詢緩衝機制

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.