我读过的很多SQL代码,似乎开发人员认为默认排序顺序始终成立。例如,在构建HTML选择列表时,他们只需要SELECT id, name FROM table
而不会发出ORDER BY
子句。处理默认排序顺序的SQL最佳实践
从我自己的经验看来,如果没有给出ORDER BY
子句并且没有索引,dbms总是使用FIFO来命令数据。但是,订单不能保证。但是,如果没有对表格进行更改,我从来没有见过dbms重新排序数据。
如果表中没有更改,您是否曾经历过以非确定性顺序选择数据的dbms?
是否总是放置ORDER BY子句是最佳做法?
,有定义,*没有默认的排序顺序*在兼容SQL的数据库。大多数数据库可以并且将以不同的顺序返回记录,这取决于查询的性质,甚至执行类似查询时索引的状态。假设订单很重要,您必须始终指定您想要数据的订单。未指定顺序的查询可能无法重复。 – 2009-11-24 21:53:19