我对某个特定查询的结果有疑问。索引或autovacuum是否改变查询结果的行为?
SELECT final_copy,NUM_CHARS FROM表1 T1,T2表2
WHERE t1.numid = t2.id
获取与此查询两行,
final_copy | NUM_CHARS
------------ + -----------------
1 | 1272 | 1075
这里final_copy 1是最新的记录插入。此查询在循环中运行,并始终以第一行中的final_copy作为1返回记录。正如你所看到的,查询不是使用任何'order by'命令。
但现在查询结果变得不一致,即行不会基于上次插入日期返回。
我的疑问是,真空或重新索引时,有没有更改查询结果的行为的机会。上周我做了这些表格的重新编排和真空处理。这会改变结果的行为吗?
我的数据库是postgresql版本7.4.3。
你应该真的升级那个db ... 7.4.3已经接近十年(06/2004),并且不再维护了。最新版本是9.3。最老的仍然是8.4.17。 –
感谢您的建议,现在我们正在将db升级到9.2版。 – RunningAdithya