Sql 来自视图的无休止查询最终返回带限制的结果
我必须提高SQL视图查询的时间(从另一个视图创建,从另一个视图创建…,是的,Satan离这里不远) 所以我终于成功了。在我的本地数据库上,我将时间从120秒提高到30秒 问题是,在测试数据库上,当我这样做时:Sql 来自视图的无休止查询最终返回带限制的结果,sql,postgresql,limit,sql-view,Sql,Postgresql,Limit,Sql View,我必须提高SQL视图查询的时间(从另一个视图创建,从另一个视图创建…,是的,Satan离这里不远) 所以我终于成功了。在我的本地数据库上,我将时间从120秒提高到30秒 问题是,在测试数据库上,当我这样做时: select * from view; 这个问题无穷无尽 如果我对其进行限制: select * from view limit 50000; 它返回49143个结果(这表明查询给了我一个完整的结果数) 为了锁定问题,我增加了限制: select * from view limi
select * from view;
这个问题无穷无尽
如果我对其进行限制:
select * from view limit 50000;
它返回49143个结果(这表明查询给了我一个完整的结果数)
为了锁定问题,我增加了限制:
select * from view limit 70000;
结果相同:49143行
关于时间响应,这是正确的,有限制
但如果我取消限制,查询仍然是无止境的。
如果有人能解释我这个谜(我问数据库架构师是我,我和我一样,怀疑)
我使用的是postgresql,我使用的是pgadmin。您是否直接在“psql”命令行工具上尝试过?请向我们展示通过解释获得的有限和无限查询的查询计划。遗憾的是,我不能。数据是我项目的个人数据,团队负责人对此不满意。但是我不明白为什么一个限制结束了一个有结尾(49143行)的查询,而没有它它就不会结束。