当检索时没有指定记录时,SQL Server使用什么标准对其记录进行排序

问题描述:

使用select查询检索到的记录的顺序是否会以相同顺序检索无限次数,每次使用新连接? (对同一表,相同的选择)当检索时没有指定记录时,SQL Server使用什么标准对其记录进行排序

什么顺序方法在没有指定时使用?

如果您未定义ORDER BY子句,则不存在隐含排序。

它可能碰巧看起来像是按主键或集群键排序 - 但它不是就是这样。

所以:如果你需要一个特定的顺序,指定ORDER BY

+1

由服务器构建的所谓“执行计划”决定如何执行查询。如果您添加新索引或数据统计信息随时间而改变,则执行计划可能因运行而异。因此,marc_s提供的答案是正确的。 – lmsasu 2010-06-26 08:50:13

完全取决于查询 - 基本的方式,它认为它会得到查询处理速度最快。

其中,对于所有实际的方法,意味着每个标准SQL规范的顺序是“随机的”(如:未确定)。

将记录的顺序使用select查询,在同 顺序检索是否的 无限次数,每次使用新 连接检索 ?

没有保证“自然”的顺序。

正如其他人所说,你的结果通常会按主键排序,但这并不能保证,一旦你添加了JOINs,甚至不会有这样的结果。