Mysql使用索引的优缺点
本文距离上次更新已过去 0 天,部分内容可能已经过时,请注意甄别。
📖 Mysql索引总结一览
创建索引的优点:
- 提高系统性能。
- 保证数据唯一性。
- 加快数据检索速度。
- 加速表间连接,有助于数据参考完整性。
- 减少排序和分组操作时间。
索引的缺点:
- 创建和维护索引耗费时间,随数据量增加而增加。
- 占用额外物理空间。
- 数据增删改时需动态维护索引,降低维护速度。
创建索引的准则:
应创建索引的列:
- 经常需要搜索的列。
- 作为主键的列。
- 经常用于连接的列(如外键)。
- 需要根据范围搜索的列。
- 经常需要排序的列。
- 经常用于WHERE子句的列。
不应创建索引的列:
- 很少使用的列。
- 取值很少的列。
- 定义为text, image和bit数据类型的列。
- 修改性能远大于检索性能的情况。
创建索引的方法:
- 直接创建,如使用CREATE INDEX语句或索引向导。
- 间接创建,通过定义主键约束或唯一性键约束时自动创建。
索引的特征:
- 唯一性索引:保证索引列数据唯一。
- 复合索引:在两个或多个列上创建的索引。
索引的类型:
- 聚簇索引:数据表物理顺序与索引顺序相同。
- 非聚簇索引:数据表物理顺序与索引顺序不相同。
聚簇索引体系结构:
- 类似树状结构,顶部为叶级,其余为非叶级。数据页是叶级,索引页是非叶级。
系统如何访问表中的数据:
- 表扫描:逐页扫描直至找到符合条件的记录。
- 索引查找:沿索引树状结构查找符合条件的记录。
评论