索引和书中的目录一样,可以快速找到表中的特定行。
索引的作用:
1.提高查询速度
2.查询优化依靠索引起作用
3.提高order by,group by的执行速度。
索引的分类:
聚集索引,决定表中数据的实际存储顺序,每张表中只有一个聚集索引,当你定义了主键的时候,数据库引擎会自动对该主键列创建聚集索引。它类似于书籍的目录,提供了数据的物理排序。
非聚集索引,一个表中可以有多个非聚集索引,不会改变数据的物理存储顺序。
索引的创建:
1.图形化界面创建,点击某张表的右键,新建索引即可。
2.用t-sql语句的方式创建:
create index idx_sage on staff(sage)
create index idx_sage on staff(sage)
查看和修改索引属性
1.右键查看索引的属性。
2.使用存储过程查看staff表的索引
sp_helpindex staff
sp_helpindex staff
索引的删除:
删除索引,表名.索引名
drop index staff.idx_sage
--删除索引,表名.索引名
drop index staff.idx_sage
当然,索引也不全是优点,建多了索引也不好,它的缺点:
1.会增加磁盘空间:索引需要额外的磁盘空间。
2.索引会对查询的效率有提升,但是当你对表进行insert,delete和update操作时,会同时更新索引的,导致增删改的性能下降一点点。