![]() |
1
2
因为你的查询无法流水线处理。 在可以管道化的查询中,不需要完成前一个运算符的结果就可以开始处理下一个运算符。 在您的情况下,必须先完成操作员“仅索引扫描”,然后才能执行下一个操作员“排序”。 查询无法管道化,因为 没有唯一的约束 这将覆盖所有查询列。 尽管如此,就性能而言,这几乎无关紧要。排序几行(可能只有1行?)不需要对数据库引擎进行任何操作。 也许您应该尝试向表中添加唯一约束,看看行为是否发生了变化。尝试添加以下约束:
如果不能添加它,那么在非唯一和PostgreSQL中的列组合是正确的,以考虑需要排序的多行。 如果你可以添加它,那么就得到新的执行计划。 |
|
Johnny T · 基于当前值的SQL合并表[重复] 6 月前 |
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 6 月前 |
![]() |
ojek · 如何对SQL结果进行分组和编号? 6 月前 |
![]() |
senek · 如何在PL/SQL中将选择结果(列)放入数组中 6 月前 |
![]() |
Sax · 规范化Google表格(第一步) 6 月前 |
![]() |
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 7 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 7 月前 |