建立索引的执行计划图相关疑问,求解!

JayPan2008 2013-01-08 10:52:19

--先建立聚集索引
create Clustered Index [TUserTraceLog_DA] ON [dbo].[TUserTraceLog](TraceTime,AccountID)
--后建立非聚集索引
create NonClustered Index [TUserTraceLog_NC] ON [dbo].[TUserTraceLog](LogID)


建立非聚集索引这里为什么会对TUserTraceLog表进行一次排序操作?目的是什么?排序依据如下

非聚集索引的数据页在有聚集索引和无聚集索引时有何区别,分别存储的是哪些数据以及如何指向记录?
同时建立了聚集索引和非聚集索引于只建立了聚集所以对比,对聚集索引列的查询性能有何影响?
...全文
193 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
DBA_磊仔 2013-01-08
  • 打赏
  • 举报
回复
索引是利用平衡二叉树的原理快速检索到相关数据的物理存储位置,这就要求各级索引页必须是排序的,如果是聚集索引,甚至数据页都是排序的,所以创建索引的时候必然会用到排序运算
發糞塗牆 2013-01-08
  • 打赏
  • 举报
回复
引用 4 楼 binzai325 的回复:
引用 3 楼 DBA_Huangzj 的回复: 当出现了聚集索引之后,非聚集索引会“引用”聚集索引,如果顺序和聚集索引不一直,就会有排序。 你说的排序是指对非聚集索引排序吗?但是按那个排序依据也无法与聚集索引顺序保持一致吧?因为他是先按主键LogID进行排序
它会引用,但是不会跟着来排序
JayPan2008 2013-01-08
  • 打赏
  • 举报
回复
引用 3 楼 DBA_Huangzj 的回复:
当出现了聚集索引之后,非聚集索引会“引用”聚集索引,如果顺序和聚集索引不一直,就会有排序。
你说的排序是指对非聚集索引排序吗?但是按那个排序依据也无法与聚集索引顺序保持一致吧?因为他是先按主键LogID进行排序
發糞塗牆 2013-01-08
  • 打赏
  • 举报
回复
当出现了聚集索引之后,非聚集索引会“引用”聚集索引,如果顺序和聚集索引不一直,就会有排序。
KevinLiu 2013-01-08
  • 打赏
  • 举报
回复
你可以尝试使用DESC然后查看执行计划
KevinLiu 2013-01-08
  • 打赏
  • 举报
回复
[ ASC | DESC ] 确定特定索引列的升序或降序排序方向。默认值为 ASC。 http://msdn.microsoft.com/zh-cn/library/ms188783.aspx

22,209

社区成员

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

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