mysql 三星索引設定

來源:互聯網
上載者:User

標籤:大量   sql   讀取   機械   檔案   檔案讀取   三個點   展開   服務   

mysql的innoDB索引設定時需要考慮的三個點

1、單行訪問是很慢的。單行訪問,需要做隨機的磁碟I/O,機械磁碟包括SSD的隨機I/O效率都是很低的。伺服器從磁碟檔案讀取資料是以塊(block)為單位來載入的,為了讀取具體的某條資料,需要載入該資料所在的整個資料區塊,所以為了提高效率儘可能一次讀取多條相鄰的資料(如何理解相鄰,我們後期專門討論)。

2、按順序存取範圍資料是很快的。主要有兩個原因,第一、順序I/O不需要多次磁碟尋道,比隨機I/O(即使是SSD)效率高很多。第二、如果伺服器能夠根據順序讀取資料(比如複合式索引的順序和查詢時的order by的順序一致),那麼就不用做額外的排序操作了,並且group by查詢也無需再做排序和將行按組進行彙總計算了。

3、索引覆蓋查詢是很快的。如果一個索引檔案包括了要查詢的所有的自動,那儲存引擎就不需要再到資料檔案做回表查詢了,這樣避免了大量的單行訪問。

 

基於以上分析,如果某個索引滿足了以下的三個條件,那我們稱這個索引是三星索引:

1、索引將相關的記錄放到一起(待展開)

2、如果索引的資料順序和查詢中的排列順便一致

3、索引中的列包含了查詢中需要的全部的列

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.