索引的优点?
1.加快查询速度
2.加快表与表的连接速度
3.加快分组和排序的速度
4.唯一索引可以保证每行数据的唯一性
索引的缺点?
1.创建、维护索引需要耗费时间和物理空间
什么样的字段适合创建索引?
1.经常需要作为搜索条件的字段(加快搜索速度)
2.主键(保证主键的唯一性)
3.经常用来连接表的列(加快连接速度)
4.经常需要排序的列(加快排序速度)
5.经常需要根据范围进行搜索的列(利用索引已经排序的特点,其指定的范围是连续的)
什么样的字段不适合创建索引?
1.少用做搜索条件的列
2.少数值的列(如:性别字段,要么等于“男”,要么等于“女”,结果集的数据行占了表中数据行的很大比例,
即需要在表中搜索的数据行的比例很大。增加索引,并不能明显加快检索速度)
3.那些定义为text类型的字段(大的文本字段甚至超长字段,不要建索引)
4.频繁更新的列
如何创建索引?
eg: alter table jt_cs_entity add index ind_cs_no(cs_no_(10));
如何删除索引?
eg: alter table jt_cs_entity drop index ind_cs_no;
如何查看索引?
eg: show index form jt_cs_entity;
如何优化索引?
1.尽量避免使用组合索引
2.使用短索引(应该指定一个前缀长度。例如,如果有一个 CHAR(255)的列,如果在前 10 个或 20 个字符内,多数值是惟一的,那么就不要对整个列进行索引。短索引不仅可以提高查询速度而且可以节省磁盘空间和 I/O 操作。)
3.一个表的索引数最好不要超过 6 个(理论上每张表里面最多可创建 16 个索引)