需要创建索引的情况:
(1) 经常查询的列上。
(2) 作为主键的列上。
(3) 经常用于连接的列上,主要是指外键。
(4) 经常根据范围查找的列上。
(5) 经常需要排序的列上。
(6) 经常使用在where子句的列上。
不需要创建索引的情况:
(1) 在查询中很少使用的列。
(2) 只有很少数据值的列,如:性别。
(3) 定义为text,image,bit的数据类型。
(4) 修改性能远远大于检索性能时。
索引命名规则:
主键(primary key)索引:PK_表名_列名
唯一键(unique key)索引:UK_表名_列名
普通索引:IND_表名_列名
注:索引的命名不能超过30个字符(在索引中的列名可以简写,一般情况下不简写索引中的表名)
注意事项:
(1) 创建复合索引时要注意顺序问题。即索引的顺序和where后字段的顺序应该保持一致。
(2) Where后字段的排列顺序,最前面的列一定要是使用最频繁的列。
(3) 如果建立col1,col2,col3三个字段为索引,那么,使用select .. ..where col1=*; select ….where col1= col2= col3的效率都是非常高的;但是,如果颠倒顺序或者使用非起始列时会明显减低效率。