索引(项目大中后期才用)
(1)是什么?
相当于书的目录,字典的检索,实现了数据的快速查找
(2)分类:
聚集索引:与实际存储位置一样,一个表中只能有一个聚集索引,主键采用聚集索引
非聚集索引:索引顺序与存储顺序不一致。如学生在教室中的位置,可以按年龄进行查找,也可以按身高进行查找
(3)建索引:
界面:右击表-》索引,添加-》选择列
代码:create [unique] nonclustered index ix_索引名 on 表名(字段1 asc|desc,...)
(4)为什么会快?
答:先根据值找地址,再到地址去找到整个行,减少了查找行的次数
(5)应用技巧:
为频繁现在在where后面的列添加索引
(6)是否要为列建索引呢?
根据实际的sql语句进行分析,列出现在where中的次数较多,时间损耗较大,则为这个列建立索引
索引越多,物理存储空间越大,所以不是越多越好
注意:不是越多越好,因为每建立一个列索引,都要排序存储一次,会让数据库文件变大
create nonclustered index ix_phone
on test1(pPhone)
select * from test1--CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 where pName=‘王美霞‘ select * from test2-- CPU 时间 = 15 毫秒,占用时间 = 20 毫秒。 where pName=‘王美霞‘