合理设计并运用索引的MySQL就好比一辆法拉利,没有设计和使用索引的MySQL就像一辆自行车,所以如果你也喜欢或经常使用MySQL,你需要知道关于MySQL索引的一些事情。这里我们主要谈一下MySQL数据库索引的类型,也许你在面试中就会被问到~~
- 普通索引:就如同它的名字一样,普通的不能再普通,多数情况下都会用到。Sql->CREATE INDEX index_name ON TABLE(columen(size));
- 唯一索引:与普通索引唯一不同是,创建索引列的值必须是唯一的,不能有重复,可以有空值。Sql->CREATE UNIQUE INDEX index_name ON TABLE(columen(size));
- 全文索引:不是很常用,仅局限于MyISAM表,创建全文索引要求该列的类型为CHAR、VARCHAR、TEXT。
- 单列索引&多列索引:单列索引可以有多个,多列索引也可由单个,但两者的查询效果不一样,总是选择限制最为严格的索引进行查询。
- 组合索引:MySQL组合索引只是从最左边开始组合,成为最左前缀。
MySQL索引优化小建议:
- 使用短索引
- 尽量不要在列上进行运算
- 一般不鼓励使用LIKE
- 索引中不要包含有NULL的列