可用版本:Dev (3.21) | 最新 (3.20) | 3.19 | 3.18 | 3.17

COUNT(expr)标量子查询比较

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

当比较一个计算 COUNT(expr)标量子查询与单个值时,如果优化器能力较弱,则使用等效的 EXISTS 谓词可能会更好,如 这篇关于 COUNT(expr) 与 EXISTS 的博客文章中所述。

此转换仅在某些情况下应用,包括

  • 在没有 UNION 和其他集合运算的情况下
  • 在没有 GROUP BYHAVING 的情况下

使用 Settings.transformPatternsScalarSubqueryCountExpressionGtZero,可以实现以下转换

-- With Settings.transformPatternsScalarSubqueryCountExpressionGtZero active, this:
SELECT
  (SELECT COUNT(col) FROM tab) > 0;

-- ... is transformed into the equivalent expression:
SELECT
  EXISTS (SELECT 1 FROM tab WHERE col IS NOT NULL);

反馈

您对此页面有任何反馈吗? 我们很乐意听到!

The jOOQ Logo