Mysql如何创建短索引(前缀索引)

Mysql如何创建短索引

 

为什么要用短索引

有时需要索引很长的字符列,它会使索引变大并且变慢。一个策略就是模拟哈希索引。但是有时这也不够好,那么应该怎么办呢?
通常可以索引开始的几个字符,而不是全部值,以节约空间并得到好的性能。这使索引需要的空间变小,但也会降低选择性。索引选择性(INDEX SELECTIVITY)是不重复的索引值(也叫基数(Cardinality))和表(#T)中所有行的比值,它的值在1/#T和1之间。高选择性的索引有好外,因为它使MYSQL在查找匹配的时候可以过滤掉更多的行,唯一索引的选择率为1,为最佳值。矛盾在于选择足够长的前缀会得到好的选择性,但是短的前缀会节约空间。为了决定好的前缀长度,须找到最常见的值,以及最赏常见的前缀进行对比。

 

posted @ 2016-10-26 20:07  hello-Jesson  阅读(6225)  评论(0编辑  收藏  举报