MySQL 索引入门

2017-11-24  本文已影响0人  牧呈

索引(index)

1.1 索引是什么

索引是帮助 MySQL 高效获取数据的数据结构,即索引是一种数据结构,可以简单理解为排好序的快速查找数据结构

在数据之外,数据库系统还维护着满足特定查找算法的数据结构,
这些数据结构以某种方式引用(指向)数据这样可以在数据结构上
实现高级查找算法。这种数据结构就是索引。

1.2 目的

索引的目的在于提高查询效率,可以类比字典

1.3 优缺点

1.3.1 优点

  • 提高数据检索的效率,降低数据库的 IO 成本.
  • 通过索引列对数据进行拍下,降低数据排序的成本,降低了 CPU 的消耗。

1.3.2 缺点

  • 实际上索引也是一张表,该表保存了主键与索引字段,并指向是体表的记录,所以索引列也是要占用空间的。
  • 虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行 INSERT、UPDATE 和 DELETE。因为更新时,MySQL 不仅要保存数据,还要保存一下索引文件每次更新添加了索引的字段,都会调整因为更新带来的键值变化后的索引信息。
  • 索引指示提高效率的一个因素,如果MySQL 有大数据量的表,就需要建立有效的索引,或者优化 SQL 语句。

1.3 索引类型

1.4 MySQL 索引结构

那么问题来了,什么情况下建立索引,什么情况下又不建立索引呢?

上一篇 下一篇

猜你喜欢

热点阅读