我对Postgres感兴趣,但我想答案可能是普遍相同的。my_table order by foo, bar for update在解释计划中有一个不同的地方(见下面),但是如果它真的改变了锁顺序,这对我来说并不明显,这正是我真正感兴趣的。我正在与一些不必要的死锁作斗争,而我注意到的一件事是,两种不同的排序规则之间的使用不一致
我有一个在Postgres 8.4上运行约5秒的查询。它从连接到其他一些表的视图中选择数据,但也使用延迟()窗口函数,即。FROM view1 v
然后像以前一样使用所有其他联接和筛选器从中进行选择。令我惊讶的是,这个查询没有在12分钟内完成(我在这一点上停止了)。显然,Postgres选择了一个不同的执行计划。使用与原始查询相同的计划?我本以为视图不应该
我们在Azure SQL server中有一个视图,它是错误的--但只有在使用TOP时才行。只是包含导致错误的顶部(任何东西)。甚至SELECT TOP (1) * FROM View -重复错误。(并不是我的团队中的每个人都同时忘记了TOP的语法,而且在通过SSMS接口选择SELECT TOP 1000...时也是这样做的)。 Msg 537,级别16,状态3,第1行。无效