目标:
-
掌握索引、分类、优劣势
-
使用命令创建、查看、删除索引
-
理解索引的原理和存储结构
索引是什么
官方介绍索引是帮助MySQL高效获取数据的数据结构。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。
索引的优势和劣势
优势:
可以提高数据检索的效率,降低数据库的IO成本,类似于书的目录。 -- 检索
通过索引列对数据进行排序,降低数据排序的成本,降低了CPU的消耗。 --排序
- 被索引的列会自动进行排序,包括【单列索引】和【组合索引】,只是组合索引的排序要复杂一些。
- 如果按照索引列的顺序进行排序,对应order by语句来说,效率就会提高很多。
- where 索引列 在存储引擎层 处理 索引下推 ICP
- 覆盖索引 select 字段 字段是索引
劣势:
- 索引会占据磁盘空间
- 索引虽然会提高查询效率,但是会降低更新表的效率。比如每次对表进行增删改操作。MySQL不仅要保存数据,还有保存或者更新对应的索引文件
索引的分类
索引分为:单列索引、组合索引 、全文索引、空间索引、位图索引 Oracle