我读过很多SQL代码,似乎开发人员假定默认排序顺序始终存在.例如,在构建HTML选择列表时,他们只会SELECT id, name FROM table
发布一个ORDER BY
子句.
根据我自己的经验,似乎dbms ORDER BY
总是使用FIFO命令数据,如果没有给出子句而没有索引.但是,订单无法保证.但是,如果表没有变化,我从未见过dbms重新排序数据.
如果表没有变化,您是否曾经历过以非确定性顺序选择数据的dbms?
始终放置ORDER BY子句是最佳做法吗?
我正在从具有整数id值的大表(数百万行)中选择一组帐户记录.从某种意义上说,作为一个人获得的查询的基础.我正在做什么构建一个大的逗号分隔列表,并将其作为"in"子句传递给查询.现在结果是完全无序的.我想要做的是按照"in"子句中的值的顺序返回结果.
我假设我将不得不构建一个临时表并进行连接,我想避免,但可能无法做到.
思考?现在查询的大小限制在每个约60k,因为我们试图限制输出大小,但它可能是任意大的,这可能排除了从实际角度来看的"in"查询,如果不是物理的.
提前致谢.