索引的原理
索引的使用原则
创建索引
基本语法:
# 建表语法create table xxx{id int(5) PRIMARY KEY,...FULLTEXT INDEX <index_name> <column_name>,KEY <index_name> <column_name>,UNIQUE KEY <index_name> <column_name>}# 更新语法alter table xxx add KEY <index_name> <column_name>
主键索引
- 语法:PRIMARY KEY (a)
- 普通索引
- 语法:KEY(a)
- 联合索引
- 语法:KEY (a,b,c)
- 作用:可以支持a | ab | abc的查找格式
- 不支持 b | c的查找格式
- 匹配时,使用=或者in,那么abc的顺序不需要限制(SQL优化器会帮我们优化成abc的顺序)
- 匹配时,任意一级别的索引匹配失效,都会导致下一级别索引匹配失效
- 比如在匹配a时使用了返回查询(比如like),那么bc的匹配都不会用到索引
- 创建原则:越往左侧的字段,应当越常用
- 唯一索引
- 语法:UNIQUE KEY (a , b ,c)
- 作用:确保索引字段的唯一性,如果是两个字段,则确保组合的唯一性
- 全文索引
- 语法:FULLTEXT INDEX (a)
