【发布时间】:2012-12-08 20:46:12
【问题描述】:
我们使用的是 SQL Server 2008 R2。我们有一个名为 PD(6 列)的表,它没有主键,并且在任何列上都没有索引。当我们执行查询时
select * from PD where ESE='bycad'
如果没有 ORDER BY 子句,每次执行相同的查询时,我们都会以不同的顺序获得结果。直到两个月前,我们才使用 SQL Server 2000,从未遇到过这个问题。
这是 SQL Server 2008 中的错误吗?我知道我们应该使用 ORDER BY 子句,但是为什么 SQL Server 2008 对没有 ORDER BY 子句的 SQL 查询的处理方式不同?
【问题讨论】:
-
如果订单很重要,请使用
ORDER BY。这对任何 rdbms 和版本都有效。 -
您没有使用
ORDER BY,然后称缺少订购错误?!?!??? Sql 2000 不必要的排序是错误。 -
但是为什么 sql 2000 和 2008 的差异.. sql 2000 以相同的顺序多次执行结果集。 !!!
标签: sql sql-server-2008 sql-server-2008-r2 sql-server-2000