学习了sql 但仍有很多的不明白!比如说sql中索引的作用是什么呢?一直都还不自道!!

发布时间:2024-05-16 03:47 发布:上海旅游网

问题描述:

问题解答:

一、使用索引的优点:

1、通过唯一性索引(unique)可确保数据的唯一性
2、加快数据的检索速度
3、加快表之间的连接
4、减少分组和排序时间
5、使用优化隐藏器提高系统性能

二、使用索引的原则:

1、在需要经常搜索的列上创建索引
2、主键上创建索引
3、经常用于连接的列上创建索引
4、经常需要根据范围进行搜索的列上创建索引
5、经常需要排序的列上创建索引
6、经常用于where子句的列上创建索引

三、不创建索引的原则:

1、查询很少使用和参考的列不建索引
2、对只有少数值的列不建索引
3、定义为text、image、bit的列不建索引
4、当需要update性能远远高于select性能时不应建索引

四、常用的命令:

1、sp_helpindex :报告表或视图上的索引信息
2、dbcc showcontig :显示指定表的数据和索引的碎片信息
3、dbcc dbreindex :重建指定数据库中一个或多个索引
4、dbcc indexdefrag :整理指定表或视图的聚集索引或辅助索引的碎片

五、优化索引:

1、重建索引(dbcc dbreindex)
2、索引优化向导
3、整理指定的表或视图的聚集索引和辅助索引碎片(dbcc indexefrag)

就像你查字典的时候的各种查询方法是一个道理。
比如拿拼音查询,
当然是拼音首字母,然后是第二个字母, 最后是声调,
这个就是一个索引,
或者拿比划,查偏旁部首, 再用这个查某一个字, 这也是一个索引。
理解与不理解其实就是一线之差。

建立索引会增快查询速度(页面查询2秒钟就显示出来和要等6秒以上才显示出来,对客户来说绝对是两种体验)。
就像汉语字典,如果没有目录的话,要查个字出来就要一页一页的翻看,有了目录一下子就可以找到相邻的位置了。
索引就是这个目录。
但建立索引也是占用数据库空间的,因为数据库会给每个索引建立一张索引表。还会影响数据的插入和修改速度,所以一张表的索引不要建太多,2,3个就可以了。
你以后做项目时候,索引一定是会用上的。
学习sql重要的是要多实践,自己电脑上装好sql数据库,书上看一点,在数据库中实践做一下;如果你以后是用来编程,不是要做DBA的话,很多东西稍稍了解就够了,必须了解的是:查询语句、写存储过程、如何分析数据建立合适的表结构。就ok了

简单的说就是为了加快检索速度,但是会增大磁盘开销

热点新闻