SQL 服务器:行乱序

SQL Server : rows out of order

当我使用 Microsoft SQL Server Management Studio 进行简单查询时,我希望行的顺序基于 ID 列,这是我的主键列。

在大多数情况下,行是有序的,但偶尔它会从 98,99,100,1035,1036,1037,101 开始,但当它跳来跳去时,它是成组的,而不仅仅是乱序的一行。使用来自 ColdFusion script 的简单 INSERT 将行添加到数据库中。

发生这种情况是否有原因?我可以做一个 ORDER BY 所以它是可读的但是如果我做错了什么开始我想修复我的错误。

让我知道是否有更多信息有帮助。

MS SQL 服务器不保证记录在内部实际存储的顺序。所以你不能依赖于按主键顺序出现的记录。如果您想对结果集进行排序,请使用 ORDER BY 和适当的列;这就是它的设计目的。