hisen库中有一个post表,数据20w,非重复数据20条;
结构如下
1 | mysql> describe post; |
添加普通索引
1 | mysql> alter table post add index index_post_title (title); |
删除索引
1 | mysql> drop index index_post_title on post; |
添加索引之后查询速度明显加快
1 | mysql> select count(title) from post group by title; |
使用索引的情况
- 表的主关键字:自动建立唯一索引
- 表的字段唯一约束:ORACLE利用索引来保证数据的完整性
- 直接条件查询的字段
- 在SQL中用于条件约束的字段
- 查询中与其它表关联的字段
- 查询中排序的字段
- 查询中统计或分组统计的字段
不使用索引的情况
- 表记录太少
- 经常插入、删除、修改的表
- 数据重复且分布平均的表字段:假如10万数据只有A、B状态,且A、B各50%,这样建立索引就不会提速
- 经常和主字段一块查询但主字段索引值比较多的表字段
