索引

作者: 大胡子_biu | 来源:发表于2017-11-21 16:57 被阅读0次

索引类型:聚集索引和非聚集索引

字典的字母索引是聚集索引,偏旁索引是非聚集索引。总的来说聚集索引是存在一个已有顺序的基础上查询,非聚集没有顺序。聚集是物理上的联系,非聚集是逻辑上的连续。一个表只能有一个聚集索引,非聚集索引可以有多个。 这个物理连续就是表本身的顺序,比如书架的索引,ABCD就是物理连续的,作者名就是逻辑连续的,这个物理连续是某种意义上被定义好的。          

在建立索引前,查询是逐条查询,每条记录都要查询,查询完为止。

聚集索引会在数据库的一部分内存空间存放排列的值,如1-100这就是某种意义上的物理顺序。所以当插入数据时会重新排序,相当于一个数组插入数据。而非聚集索引其实可以看作是一个含有聚集索引的表,他只仅包含原表中非聚集索引的列和指向实际物理表的指针。

一些注意点:

频繁更新的列(新增值需要重排序)和频繁修改索引列的表不应该加聚集索引,经常返回某个范围的值不应该用非聚集索引,因为物理排序本身就是有顺序范围的,非聚集没有。


建立索引的原则:

1) 定义主键、有外键、经常查询的数据列一定要建立索引。

2) 对于需要在指定范围内的快速或频繁查询的数据列;

3) 经常用在WHERE子句中的数据列。

4) 经常出现在关键字order by、group by、distinct后面的字段,建立索引。如果建立的是复合索引,索引的字段顺序要和这些关键字后面的字段顺序一致,否则索引不会被使用。

5) 对于那些查询中很少涉及的列,重复值比较多的列不要建立索引。

6) 对于定义为text、image和bit的数据类型的列不要建立索引。

7) 对于经常存取的列避免建立索引

8) 限制表上的索引数目。对一个存在大量更新操作的表,所建索引的数目一般不要超过3个,最多不要超过5个。索引虽说提高了访问速度,但太多索引会影响数据的更新操作。

9) 对复合索引,按照字段在查询条件中出现的频度建立索引。在复合索引中,记录首先按照第一个字段排序。对于在第一个字段上取值相同的记录,系统再按照第二个字段的取值排序,以此类推。因此只有复合索引的第一个字段出现在查询条件中,该索引才可能被使用,因此将应用频度高的字段,放置在复合索引的前面,会使系统最大可能地使用此索引,发挥索引的作用。

相关文章

  • MySQL索引

    MySQL索引 索引介绍 索引原理与分析 组合索引 索引失效分析 索引介绍 什么是索引索引:包括聚集索引、覆盖索引...

  • Mysql优化

    一.索引科普 主键索引 唯一索引 普通索引 单列索引 多列索引 聚簇索引 非聚簇索引 前缀索引 全文索引 二.优化...

  • Oracle 索引学习

    创建索引 标准语法 唯一索引 组合索引 反向键索引 示例 删除索引 修改索引 重建索引 联机重建索引 合并索引

  • MySQL索引

    索引的作用 查看索引 创建索引 删除索引 索引类型 强制索引和禁止某个索引

  • Pandas数据操作

    Pandas数据操作 Series索引 行索引 切片索引 不连续索引 布尔索引 DataFrame索引 列索引 不...

  • 深入理解四种数据库索引类型(- 唯一索引/非唯一索引 - 主键索

    唯一索引/非唯一索引 主键索引(主索引) 聚集索引/非聚集索引 组合索引 唯一索引/非唯一索引 唯一索引 1.唯一...

  • MYSQL索引

    mysql的4种常用索引类型:唯一索引,主键索引,全文索引,以及普通索引。 普通索引(INDEX):普通索引为索引...

  • 索引类型

    索引类型有: 主键索引; 唯一索引; 普通索引; 全文索引; 多列索引;

  • mysql 查询效率优化之 常用索引的几种类型 新手使用教程,少

    Mysql常见索引有:主键索引、唯一索引、普通索引、全文索引、组合索引(联合索引,多列索引) 一、建立的方法介绍 ...

  • MySql 数据查询优化

    1. MySQL索引类型: mysql的索引有5种:主键索引、普通索引、唯一索引、全文索引、聚合索引(多列索引)。...

网友评论

      本文标题:索引

      本文链接:https://www.haomeiwen.com/subject/iflwvxtx.html