索引(Index)是存储引擎用于快速找到记录的一种数据结构,在 MySQL 中也被叫做键(Key)。索引对于良好的性能非常关键。尤其是当表中的数据量越来越大时,索引对性能的影响愈发重要。
索引是对查询性能优化最有效的手段,能够轻易地将查询性能提高几个数量级。索引也有多种类型,而选择“最优”的索引有时比“最好”的索引性能要好两个数量级,这通常需要重写查询。
索引有很多种类型,可以为不同的场景提供更好的性能。索引位于存储引擎层,不同存储引擎中索引的工作方式也并不一样,也不是所有存储引擎都支持所有类型的索引。即使多个存储引擎支持同一种类型的索引,其底层的实现也可能不同。