您的位置:首页 > 数据库

数据库索引

2015-12-16 00:00 246 查看
摘要: 浅析数据库索引

索引是什么

索引是一种为了实现快速查找算法的数据结构。

利用优于顺序查找的算法查询数据,需要特定的数据结构,这种数据结构就是数据库的索引

索引以某种方式引用数据

顺序查找复杂度O(n)

索引越多越好吗

因为要更新索引,所以建立索引利于查询不利于更改(添加,删除,修改)。

频繁操作的表不要添加过多的索引。

索引过多可能也不利于数据的读取,要扫描多份索引

通常索引建立在哪些列

经常需要搜索的列(加快搜索的速度)

主键(强制该列的唯一性和组织表中数据的排列结构)

经常用在连接的列(主要是一些外键, 可以加快连接的速度)

经常需要根据范围进行搜索的列(因为索引已经排序,其指定的范围是连续的)

经常需要排序的列(因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间)

经常使用在WHERE子句中的列(加快条件的判断)

通常什么时候不建立索引

1,表记录比较少

2,索引的选择性较低

索引的选择性(Selectivity),是指不重复的索引值(也叫基数,Cardinality)与表记录数(#T)的比值:

Index Selectivity = Cardinality / #T(显然选择性的取值范围为(0, 1],选择性越高的索引价值越大)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: