MySQL索引之首碼索引和索引選擇性

來源:互聯網
上載者:User

標籤:

有時需要索引很長的字元列,它會使索引變大而且變慢。一個策略就是類比雜湊索引。但是有時這也不夠好,那?

通常可以索引開始的幾個字元,而不是全部值,以節約空間並得到好的效能。這使索引需要的空間變小,但是也會降低選擇性。索引選擇性是不重複的索引值 和表中所有行的比值。高選擇性的索引有好處,因為它使mysql在尋找匹配的時候可以過波掉更多的行。唯一索引的選擇率為1,為最佳值。

如果索引BLOG和TEXT列,或者很長的varchar列,就必須定義首碼索引,因為mysql不允許索引它們的全文化。

可以在同一個查詢中針對許多不同的前置長度進行計算,選擇選擇性好的。 【Linux公社 http://www.linuxidc.com 】

(用LEFT函數,left(city,4))

添加首碼索引

mysql>alter table test.test add key (city(7));

首碼索引能很好地減少索引的大小及提高速度,但是mysql不能在order by 和group by查詢中使用首碼索引,也不能把它們用伯覆蓋索引。

有時尾碼索引也挺有用,例如尋找某個網域名稱的所有電子郵件地址。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.