高性能的MySQL(5)索引策略2014-06-23一、索引的优点1、索引可以大大减少服务器需要扫描的数据量2、索引可以帮助服务器避免排序和临时表。3、索引可以将随即I/O变为顺序I/O二、索引策略1、独立的列独立的列是指索引列不能是表达式的一部分,也不能是函数参数。例如:一个有500W条记录的表,id是主键。

所以要始终将索引列单独放在比较符号的一侧。2、前缀索引和索引选择性对于比较大的列,通常可以索引开始的部分字符,这样可以节约索引空间,提高索引率。但是也会降低索引的选择性。索引的选择性是指,不重复的索引值(基数)和表的记录总数的比值,索引的选择性越高查询效率就越高,因为可以在查找时过滤掉更多的行,唯一索引的选择性是1,性能是最好的。如何来选择一个合适的长度,让前缀的基数接近完整列的基数,一般我们有2中方法:a、为了决定前缀的合适长度,需要找到最常见的值的列表,然后和最常见的前缀列表进行比较。举例:有一张100W记录的表,要对name添加前缀索引