SQL 在表中建立索引的作用

在数据库的表中建立索引,索引的作用是什么?... 在数据库的表中建立索引,索引的作用是什么? 展开
 我来答
匿名用户
2013-04-17
展开全部
索引的作用就在于,为某个字段建立了索引之后,查询这个字段里面的数据的时候,效率更高,也就是快,
比如
create index abc on stu(age);
为stu表的age字段建立了索引,那么查询时,select * from stu where age > 10;
这个时候效率就高,主要体现在where语句,where age > 10 ,将age 作为查询的条件,age又加了索引所以高。

索引使数据库程序无需对整个表进行扫描,就可以在其中找到所需数据,也就是当进行查询时,系统先搜索索引,从中找到数据的指针,再直接通过指针,直接定位到数据上,所以快。

缺点:
还有就是需要注意的,索引是查的效率高了,但是在表中插入或更新数据时,将有额外的操作来维护索引,所以其他的效率低了,还有占用存储空间,还有不要建立过多的索引,过多索引引起反作用!

你还有啥不明白的?
day忘不掉的痛
推荐于2016-06-03 · 知道合伙人数码行家
day忘不掉的痛
知道合伙人数码行家
采纳数:62646 获赞数:223941
本人担任公司网络部总经理多年,有充足的网络经验、互联网相关知识和资讯。

向TA提问 私信TA
展开全部
对于SQL Server数据库来说,只有建立了合理的数据库索引才能在一定程度上提高SQL Server数据库性能。
 一、聚簇索引(clustered indexes)的使用

  聚簇索引是一种对磁盘上实际数据重新组织以按指定的一个或多个列的值排序。由于聚簇索引的索引页面指针指向数据页面,所以使用聚簇索引查找数据几乎总是比使用非聚簇索引快。每张表只能建一个聚簇索引,并且建聚簇索引需要至少相当该表120%的附加空间,以存放该表的副本和索引中间页。
建立聚簇索引的思想是:
  1、大多数表都应该有聚簇索引或使用分区来降低对表尾页的竞争,在一个高事务的环境中,对最后一页的封锁严重影响系统的吞吐量。
  2、在聚簇索引下,数据在物理上按顺序排在数据页上,重复值也排在一起,因而在那些包含范围检查
  、>=)或使用group by或order by的查询时,一旦找到具有范围中第一个键值的行,具有后续索引值的行保证物理上毗连在一起而不必进一步搜索,避免了大范围扫描,可以大大提高查询速度。

  3、在一个频繁发生插入操作的表上建立聚簇索引时,不要建在具有单调上升值的列(如IDENTITY)上,否则会经常引起封锁冲突。
  4、在聚簇索引中不要包含经常修改的列,因为码值修改后,数据行必须移动到新的位置。
  5、选择聚簇索引应基于where子句和连接操作的类型。
  聚簇索引的侯选列是:
  1、主键列,该列在where子句中使用并且插入是随机的。

  2、按范围存取的列,如

  100 and pri_order < 200。

  3、在group by或order by中使用的列。

  4、不经常修改的列。

  5、在连接操作中使用的列。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
湛蓝水晶
2013-04-17 · 知道合伙人数码行家
湛蓝水晶
知道合伙人数码行家
采纳数:1388 获赞数:9352
毕业北京科技大学数学与应用数学专业,学士学位,IT行业6年从业经验。现任公司项目经理。

向TA提问 私信TA
展开全部
当where 条件中的字段上有索引的时候可以加快查询速度。
如果没索引就要把整张表的数据全部扫描一次才能定位到数据。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-17
展开全部
楼上说的很清楚。我再举个例子。
比如,表,usersinfo,有一列是 姓名 列。
建立索引前,如果要搜索,姓名 叫张三的人, 则需要对整个表进行扫描。
对 姓名列建立索引后,再搜索,则只需要扫描索引 --就像一本书的目录。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
射手幽灵伊
2013-04-17 · TA获得超过2716个赞
知道大有可为答主
回答量:4955
采纳率:81%
帮助的人:1969万
展开全部
索引的作用是加快查找

索引是B树,可以快速定位到需要的数据上。
索引也是需要系统维护,所以会增加系统的负担。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式