bha*_*135 0 sql t-sql sql-server
我想知道 select top 10 * from tablename 每次都会给出相同的结果吗?
提前致谢
否。除非您指定子句,否则结果集是无序的order by。即使这样,也order by需要稳定,这意味着键之间没有联系(您可以通过将主键作为排序的最后一个键来实现这一点)。
结果可能不同的原因有多种。显然,基础数据可能会改变,但我猜这不是你问题的要点。
主要原因是在多线程机器上,不同的线程正在读取数据。哪个线程返回数据是不确定的,因此您不知道前十行是什么(没有order by)。
SQL 本身不保证按顺序读取表来处理查询。然而,实际上,我确实认为 SQL Server 确实按顺序读取页面。
| 归档时间: |
|
| 查看次数: |
2321 次 |
| 最近记录: |