1.索引

1.1概述

​ 索引是对数据库表中一个或多个列的值进行排序的结构。所有MySQL列类型都可以被索引,对相关列使用索引是提高SELECT操作性能的最佳途径。

1.2分类

  • **B-Tree索引:**最常见的索引类型,大部分引擎都支持B树索引。

  • **HASH索引:**只有Memory引擎支持,使用场景简单。

  • **R-Tree索引(空间索引):**空间索引是MyISAM的一个特殊索引类型,主要用于地理空间数据类型。

  • **Full-text(全文索引):**全文索引也是 MyISAM 的一个特殊索引类型,主要用于全文索引。

1.3设计索引的原则

  • 搜索的索引列,不一定是所要选择的列。换句话说,最适合索引的列是出现在WHERE子句中的列,或连接子句中指定的列,而不是出现在SELECT关键字后的选择列表中的列。
  • 使用唯一索引。考虑某列中值的分布。索引的列的基数越大,索引的效果越好。
  • 使用短索引。如果对字符串列进行索引,应该指定一个前缀长度,只要有可能就应该这样做。较小的索引涉及的磁盘 IO 较少,较短的值比较起来更快。更为重要的是,对于较短的键值,索引高速缓存中的块能容纳更多的键值,因此&

更多推荐

MySQL进阶详解教程,看过的都说好