目录
MySQL官方对索引的定义为:索引(index)是帮助MySQL高校获取数据的数据结构
提取句子主干,就可以得到索引的本质:索引是数据结构
从索引存储结构划分:B Tree索引、Hash索引、FULLTEXT全文索引、R Tree索引
从应用层次划分:普通索引、唯一索引、主键索引、复合索引
从索引键值类型划分:主键索引、辅助索引(二级索引)
从数据存储和索引键值逻辑关系划分:聚集索引(聚簇索引)、非聚集索引(非聚簇索引)
主键索引(primary key)
唯一索引(unique key)
常规索引(key / index)
全文索引(FullText)
select * from user where match(name) against('aaa');
1)全文索引必须在字符串、文本字段上建立。
2)全文索引字段值必须在最小字符和最大字符之间的才会有效。(innodb:3-84;
myisam:4-84)
3)全文索引字段值要进行切词处理,按syntax字符进行切割,例如b+aaa,切分成b和aaa
全文索引匹配查询,默认使用的是等值匹配,例如a匹配a,不会匹配ab,ac。如果想匹配可以
在布尔模式下搜索a*
select * from user where match(name) against('a*' in boolean mode);
1)在创建表的时候给字段增加索引
2)创建完毕后,增加索引
显示所有的索引信息
SHOW INDEX FROM 表名
增加一个索引
- -- ALTER TABLE `表名` ADD FULLTEXT INDEX `索引名`(`指定列名`)
- ALTER TABLE `student` ADD FULLTEXT INDEX `studentname`(`studentname`)
查看新增索引(选中表名右击设计表 -> 索引)

1)索引不是越多越好
2)不要对经常变动的数据加索引
3)小数据量的表不需要加索引
4)索引一般加在常用来查询的字段上