选择顺序的差异ORACLE和SQL Server不带Order子句
我有一个要求,我们要将项目从ORACLE迁移到SQL Server 从ORACLE到SQL Server,选择顺序不同 有人能建议我不使用order子句而获得相同的选择顺序吗选择顺序的差异ORACLE和SQL Server不带Order子句,sql,sql-server,oracle,migration,Sql,Sql Server,Oracle,Migration,我有一个要求,我们要将项目从ORACLE迁移到SQL Server 从ORACLE到SQL Server,选择顺序不同 有人能建议我不使用order子句而获得相同的选择顺序吗 提前感谢。根据定义,选择而不选择顺序依据是不确定的,并且依赖于实现。服务器可以决定以其认为性能更好的任何顺序交付结果 例如,如果删除一些行,然后插入另一组行,服务器可能会重新使用该孔来放置新数据,并且该数据可能稍后通过SELECT在磁盘上以物理顺序传递,而不是以插入顺序传递。根据定义,SELECT不带order by是不确
提前感谢。根据定义,
选择
而不选择顺序依据是不确定的,并且依赖于实现。服务器可以决定以其认为性能更好的任何顺序交付结果
例如,如果删除一些行,然后插入另一组行,服务器可能会重新使用该孔来放置新数据,并且该数据可能稍后通过SELECT在磁盘上以物理顺序传递,而不是以插入顺序传递。根据定义,
SELECT
不带order by
是不确定的,并且取决于实现。服务器可以决定以其认为性能更好的任何顺序交付结果
例如,如果您删除了一些行,然后又插入了另一组行,服务器可能会重新使用该孔来放置新数据,并且该数据可能稍后由SELECT以物理顺序在磁盘上传递,不按插入顺序。如果不指定
order by
,表的记录将根据服务器首选项和输入的顺序显示(如果删除并重新插入,则不显示)
所有
Oracle
,SQL Server
都使用相同的策略。如果不指定order by
,表中的记录将根据服务器首选项和输入的顺序显示(如果删除并重新插入,则不会显示)
所有的
Oracle
,sqlserver
都使用相同的策略。您永远不应该依赖默认顺序。如果希望结果按特定顺序排列,则应显式使用ORDERBY子句决不应依赖默认顺序。如果希望结果按特定顺序排列,则应明确使用order BY子句您的意思是表中记录的顺序不同吗?如果没有明确的order BY
,则任何RDBMS中都没有隐含的顺序。如果您需要一个顺序-您需要明确地指定它,默认情况下,会以无顺序的方式获取记录,sql会以某种方式获取记录,oracle会以其他方式获取记录。您的意思是表中记录的顺序不同吗?如果没有显式的order BY,则任何RDBMS中都没有隐含的顺序。如果您需要一个顺序-您需要明确地指定它。默认情况下,将不按任何顺序获取记录,sql以某种方式获取记录,oracle以某种方式获取记录