索引的分类
索引分为B-Tree索引、哈希索引、空间索引、全文索引、其他等索引。
在 MySQL 中,最常用的是 B-Tree 索引(也就是我们常说的B+树索引,这里B-Tree索引只是一个分类)
索引的优点
-
索引大大减少了服务器需要扫描的数据量
-
索引可以帮助服务器避免排序和临时表
-
索引可以将随机I/O变成顺序I/O
创建高性能索引
下面根据不同的情况来说明,如何创建合适并且高性能的索引来提高索引效率。
- 独立的列
如果查询中的列不是独立的,则 MySQL不会使用索引。
所谓独立的列指的是,查询中的列不能是表达式的一部分,要是独立的,举例如下
select * from t_user where id + 1 = 9;
在上面的查询语句,查询中的列