Mysql使用索引的优缺点
小明 Lv6
本文距离上次更新已过去 0 天,部分内容可能已经过时,请注意甄别。

📖 Mysql索引总结一览

创建索引的优点:

  1. 提高系统性能。
  2. 保证数据唯一性。
  3. 加快数据检索速度。
  4. 加速表间连接,有助于数据参考完整性。
  5. 减少排序和分组操作时间。

索引的缺点:

  1. 创建和维护索引耗费时间,随数据量增加而增加。
  2. 占用额外物理空间。
  3. 数据增删改时需动态维护索引,降低维护速度。

创建索引的准则:

  • 应创建索引的列:

    1. 经常需要搜索的列。
    2. 作为主键的列。
    3. 经常用于连接的列(如外键)。
    4. 需要根据范围搜索的列。
    5. 经常需要排序的列。
    6. 经常用于WHERE子句的列。
  • 不应创建索引的列:

    1. 很少使用的列。
    2. 取值很少的列。
    3. 定义为text, image和bit数据类型的列。
    4. 修改性能远大于检索性能的情况。

创建索引的方法:

  1. 直接创建,如使用CREATE INDEX语句或索引向导。
  2. 间接创建,通过定义主键约束或唯一性键约束时自动创建。

索引的特征:

  • 唯一性索引:保证索引列数据唯一。
  • 复合索引:在两个或多个列上创建的索引。

索引的类型:

  • 聚簇索引:数据表物理顺序与索引顺序相同。
  • 非聚簇索引:数据表物理顺序与索引顺序不相同。

聚簇索引体系结构:

  • 类似树状结构,顶部为叶级,其余为非叶级。数据页是叶级,索引页是非叶级。

系统如何访问表中的数据:

  • 表扫描:逐页扫描直至找到符合条件的记录。
  • 索引查找:沿索引树状结构查找符合条件的记录。
 评论