MYSQL 查詢快取

來源:互聯網
上載者:User

標籤:blog   http   sp   資料   2014   log   bs   new   as   

查詢快取:

            是指對select 語句的結果進行緩衝,當下一次運行同樣的select語句時,就可以直接返回資料,跳過解析,執行,最佳化階段。

            1、查詢快取會跟蹤查詢涉及的表,如果表發生變化,相關的緩衝都會失效。

            2、查詢緩是否命中,是根據select 語句來定的  或是說根據select 的hash值來定的。

                例子:

                      (1)select X from table_A;    --- hash ---->  5

                      (2)select X 

                          from table_A;                ---hash -----> 9  

                      這兩個select 語句在人類看來有一樣的邏輯,但是MYSQL 可不這樣想,它認為這兩個是不一樣的。

                      理由是第一個語句只有一行,第二個有兩行。就算多一個空格它都會說是不一樣的,它的一樣與否是

                      根據hash 值來講的。而hash 值又關聯著緩衝表的位置,所以第二個select 沒有辦法從用第一個的緩衝。

                     

               

                      一致的書寫風格會加速查詢的速度。

            3、當查詢中包涵任何不確定資料時,就不會被緩衝 。如包涵new(),current_date();

            4、緩衝是建立在select 語句的基礎上的,而且只有剛收到SQL語句時才檢查是否有對應的緩衝,

                所以預存程序與子查詢與之無緣了。

總結:

      它也不是‘銀彈’,打個比方吧,如果對錶進行了更新或插入,以前的緩衝就沒有用了。要命是的一個表對應的緩衝一般

      不只一個。就算是這樣緩衝大多資料情況下還是可以提升效能。

 

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.