如果我要在没有主键或任何索引的空表中插入大量行。每个事务可能插入不同的行数。那么我可以确定SELECT * FROM the_table;会在Linux和Windows上以相同的顺序检索数据吗?
答案 0 :(得分:3)
不,您不能也不应该依赖于没有排序约束的查询的结果集中的行顺序。即使在同一平台上,也是同一个数据库。即使它在您的测试中有效。
VACCUM
数据库(或我认为的某些auto_vaccum
模式)之类的东西可能会改变数据的相对块布局并改变结果集,即使其他地方没有其他更改(否)插入,没有查询计划更改)。