# MySQL索引及结构

图片

索引是一种用于快速查询和检索数据的数据结构

# 1. 索引介绍

索引的作用就相当于目录的作用。打个比方: 我们在查字典的时候,如果没有目录,那我们就只能一页一页的去找我们需要查的那个字,速度很慢。如果有目录了,我们只需要先去目录里查找字的位置,然后直接翻到那一页就行了

# 1.1. 优点

  • 使用索引可以大大加快数据的检索速度(大大减少的检索的数据量),这也是创建索引的最主要的原因
  • 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性

# 1.2. 缺点

  • 创建索引和维护索引需要耗费许多时间。当对表中的数据进行增删改的时候,如果数据有索引,那么索引也需要动态的修改,会降低 SQL 执行效率
  • 索引需要使用物理文件存储,也会耗费一定空间

数据库的索引是为了增加数据库查询的速度。但是也增加创建和维护时间,减慢写入速度

# 1.3. 总结

  • 对于非常小的表、大部分情况下简单的全表扫描比建立索引更高效
  • 对于中到大型的表,索引就非常有效
  • 但是对于特大型的表,建立和维护索引的代价将会随之增长。这种情况下,需要用到一种技术可以直接区分出需要查询的一组数据,而不是一条记录一条记录地匹配,例如可以使用分区技术

索引是在存储引擎层实现的,而不是在服务器层实现的,所以不同存储引擎具有不同的索引类型和实现

# 2. 数据结构

待补充

# 3. 索引类型

待补充

参考

上次更新时间: 2023-12-15 03:14:55