文章参考:《深入浅出Mysql》 第二版本
索引是数据库中用来提高性能的常用工具。
对于Mysql而言,所有的类型都可以被索引。对相关列进行索引是提高查询(select)性能的重要途径。
1.索引概述
mysql每种存储引擎对每个表至少支持16个索引,总索引长度至少为256字节。MyISAM和InnoDB存储引擎的表默认的创建BTREE索引。
mysql还支持全文本索引,该索引可以用于全文搜索。innodb引擎需要5.56版本之后才支持。
2.索引的设计原则
- 搜索的索引列不一定是所要选择的列。也就是说最合适的索引列是出现在where自居中的列,或者连接子句中的列。
- 使用唯一索引。索引列的基数越大,存储的值越离散程度越大,效果越好。
- 使用短索引。例如:有一个char(200)列,如果在前10个或20个字符内,多数值是唯一的,就不要对整个列进行索引。对前10或者20个字符进行索引。
- 利用最左前缀
- 不要过度索引。
- 对于innodb存储引擎的表,记录默认会按照一定的顺序保存。
文章参考:《深入浅出Mysql》 第二版本