我从 postgres 看到了非常奇怪的结果。有谁知道这怎么会发生?我有一个复杂的查询,我们称它为 A:
SELECT COUNT(*) FROM (A LIMIT 100000) a;
2230
SELECT COUNT(*) FROM (A) a;
2230
SELECT COUNT(*) FROM (A LIMIT 100000) a WHERE position_id = 'f9f49009-8f95-4d29-a5e0-c0afaa71d3d3';
0
SELECT COUNT(*) FROM (A) a WHERE position_id = 'f9f49009-8f95-4d29-a5e0-c0afaa71d3d3';
17
行数少于 100000,因此 LIMIT 应该无效。但不知何故它确实如此。
顺便说一句,LIMIT 的原因是该查询来自自动插入限制的 BI 工具。我们在 BI 工具中看到了错误的数字,我已将其缩小到这一点。
这是postgres 10.1版