MySQL的索引介绍

索引是关系型数据库中非常重要的一个功能,不同的数据库,索引的原理,基本都是相近的,徐老师写的这篇文章《MySQL的索引》从整体层面给我们介绍了MySQL数据库中索引相关的基础,普及一下知识。

MySQL的索引用于快速查找具有特定列值的行。如果没有索引,MySQL必须从第一行开始,然后遍历整个表以找到相关的行。表越大,成本就越高。如果表中有相关列的索引,MySQL可以快速确定在数据文件中查找的位置,而不必查看所有数据。使用索引是打开MySQL的正确方式,本篇将介绍MySQL的索引相关内容。

MySQL的索引可以用于以下操作,

  • 快速查找与“WHERE”语句匹配的数据行。

  • 排除数据行。如果在多个索引之间进行选择,MySQL通常使用找到行数最少的索引(最具选择性的索引)。

  • 在执行联结操作时,从其他表获取数据行。

  • 查找特定索引列“key_col”的“MIN()”或“MAX()”值。
  • 如果排序或分组是在可用索引的最左边的前缀上完成的,则对表进行排序或分组(例如,ORDER BY key_part1, key_part2)。
  • 在某些情况下,可以对查询进行优化,以便在不查询数据行的情况下检索值。

ALTER TABLE tablename ADD PRIMARY KEY (col1, col2);