非聚集索引的作用是什么???

mig1975 2009-04-30 04:21:25
今天在网上看到一篇关于数据库索引的文章,在里面,他谈到了sql server的两种索引。
一种是聚集索引,一种是非聚集索引,但是,在文章里面,我只是看到了,用聚集索引的优点
等等。请问,那非聚集索引一般在什么情况下使用呢。
...全文
792 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cqd0820 2011-09-09
  • 打赏
  • 举报
回复
非聚集索引不影响数据的存储顺序???
mig1975 2009-05-07
  • 打赏
  • 举报
回复
自己顶
mig1975 2009-05-01
  • 打赏
  • 举报
回复
说错了,(1)和(2)还是相差一倍左右的。只是没有(3)那么明显。
还有4楼说的点查询是指什么啊。
mig1975 2009-05-01
  • 打赏
  • 举报
回复
嗬嗬,我看的正是大家贴出来的那篇文章。
我是看到下面这个例子时,想到的我提出来的问题的。
在这里对fariqi字段建立非聚集索引和不建立,
查询时间是相差无几的。
所以4楼说的奇效,是在什么时候呢。能具体地说个例子吗?

文章引用:
在这里之所以提到“理论上”三字,是因为如果您的聚集索引还是盲目地建在ID这个主键上时,您的查询速度是没有这么高的,即使您在“日期”这个字段上建立的索引(非聚合索引)。下面我们就来看一下在1000万条数据量的情况下各种查询的速度表现(3个月内的数据为25万条):

  (1)仅在主键上建立聚集索引,并且不划分时间段:

  Select gid,fariqi,neibuyonghu,title from tgongwen

  用时:128470毫秒(即:128秒)

  (2)在主键上建立聚集索引,在fariq上建立非聚集索引:

  select gid,fariqi,neibuyonghu,title from Tgongwen

  where fariqi> dateadd(day,-90,getdate())

  用时:53763毫秒(54秒)

  (3)将聚合索引建立在日期列(fariqi)上:

  select gid,fariqi,neibuyonghu,title from Tgongwen

  where fariqi> dateadd(day,-90,getdate())

  用时:2423毫秒(2秒)
  • 打赏
  • 举报
回复
一张表只能建立一个聚集索引,当其他列上建立了聚集索引的话,而又需要建立索引的话,就需要建立非聚集索引。

另外,如果对一张表频繁的进行更新的时候,就需要考虑建立非聚集索引给不是聚集索引
htl258_Tony 2009-04-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 szx1999 的回复:]
参考一下:

SQL codeSQL Server 的聚簇索引与非聚簇索引


聚集索引:表中存储的数据按照索引的顺序存储,检索效率比普通索引高,但对数据新增/修改/删除的影响比较大。
非聚集索引:不影响表中的数据存储顺序,检索效率比聚集索引低,对数据新增/修改/删除的影响很小。
一张表只有一个聚簇索引,可有多个非聚簇索引。


下表描述聚簇索引与非聚簇索引的适用范围:

动作描述 使用聚集索引 使用…
[/Quote]一楼的.
flairsky 2009-04-30
  • 打赏
  • 举报
回复
聚集索引只能有一个
非聚集索引在点查询时有奇效
sdhdy 2009-04-30
  • 打赏
  • 举报
回复
1楼的。
-狙击手- 2009-04-30
  • 打赏
  • 举报
回复
。。
等不到来世 2009-04-30
  • 打赏
  • 举报
回复
参考一下:
SQL Server 的聚簇索引与非聚簇索引


聚集索引:表中存储的数据按照索引的顺序存储,检索效率比普通索引高,但对数据新增/修改/删除的影响比较大。
非聚集索引:不影响表中的数据存储顺序,检索效率比聚集索引低,对数据新增/修改/删除的影响很小。
一张表只有一个聚簇索引,可有多个非聚簇索引。


下表描述聚簇索引与非聚簇索引的适用范围:

动作描述 使用聚集索引 使用非聚集索引
列经常被分组排序 应 应
返回某范围内的数据 应 不应
返回精确匹配的数据 不应 应
一个或极少不同值 不应 不应
小数目的不同值 应 不应
大数目的不同值 不应 应
频繁更新的列 不应 应
外键列 应 应
主键列 应 应

注:主键列如果是采用标识且经常用于范围查询,则适用聚簇索引,否则适用非聚簇索引。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧