索引的工作原理

http://www.ituring.com.cn/article/986

如果没有索引,查找一个表中未排序的字段需要访问全部n个数据块,有了索引后(即字段排序后)可以使用二分查找,每次只要范围log(n)个数据快

索引的缺点是占用额外的磁盘空间。因为索引保存在MyISAM数据库中,所以如果为同一个表中的很多字段都建立索引,那这个文件可能会很快膨胀到文件系统规定的上限。

另外,由于二分查找的原因,数据的基数性(cardinality)或唯一性也非常重要。对基数性为2的字段建立索引,会将数据一分为二,而对基数性为1000的字段,则同样会返回大约1000条记录。在这么低的基数性下,索引的效率将减低至线性查找的水平,而查询优化器会在基数性小于记录数的30%时放弃索引,实际上等于索引纯粹只会浪费空间。

 

posted on 2015-03-27 10:24  kylehz  阅读(165)  评论(0)    收藏  举报