文章出處
文章列表
有時需要索引很長的字符列,它會使索引變大而且變慢。一個策略就是模擬哈希索引。但是有時這也不夠好,那?
通常可以索引開始的幾個字符,而不是全部值,以節約空間并得到好的性能。這使索引需要的空間變小,但是也會降低選擇性。索引選擇性是不重復的索引值 和表中所有行的比值。高選擇性的索引有好處,因為它使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不支持反向索引,但是可以把反向字符串保存起來,并且索引它的前綴。可以用觸發器維護這種索引。
文章列表
全站熱搜