有聚集索引的表select × from tb

andy_liucj 2013-03-18 03:59:03
select × from tb
出来的数据是按聚集索引顺序排好序的么?
...全文
222 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
andy_liucj 2013-03-18
  • 打赏
  • 举报
回复
引用 4 楼 Vidor 的回复:
引用 3 楼 mayuanf 的回复: 不一定。有其他非聚集索引存在的话,可能会按其他非聚集索引键的顺序排序被select出来。 你自己试试就行了。 比如 主键 | 非聚集索引列 A | B B | C C | A D | D 对头,非聚集索引如果覆盖查询的话,有可能走非聚集索引。 如果并行查询,也不能保证按索引键顺序返回,总之要确保有序,order by吧。
好吧,问的低端了,还是使用order by吧
Vidor 2013-03-18
  • 打赏
  • 举报
回复
引用 3 楼 mayuanf 的回复:
不一定。有其他非聚集索引存在的话,可能会按其他非聚集索引键的顺序排序被select出来。 你自己试试就行了。 比如 主键 | 非聚集索引列 A | B B | C C | A D | D
对头,非聚集索引如果覆盖查询的话,有可能走非聚集索引。 如果并行查询,也不能保证按索引键顺序返回,总之要确保有序,order by吧。
mayuanf 2013-03-18
  • 打赏
  • 举报
回复
不一定。有其他非聚集索引存在的话,可能会按其他非聚集索引键的顺序排序被select出来。 你自己试试就行了。 比如 主键 | 非聚集索引列 A | B B | C C | A D | D
發糞塗牆 2013-03-18
  • 打赏
  • 举报
回复
准确来是说按聚集索引所在的那列或者那些列预先排序。可以看执行计划,如果有sort(中午符号叫:排序),那证明没有按聚集索引的顺序排序
Banianer 2013-03-18
  • 打赏
  • 举报
回复
聚集索引 插入的时候就已经排序好了,你SELECT 出来当然也是排序好的,除非你特定ORDER BY

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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