GBase 8s
运维管理
文章

GBase8s数据库SELECT 1589

发表于2026-01-27 10:06:2827次浏览3个评论

虽然通过视图、子查询可实现与表表达式等同的功能,但表表达式简化查询的公式,使得语法更加

灵活和直观,并支持 SQL 的 ANSI/ISO 标准。

查询优化器不具体化 FROM 子句指定的简单的表表达式。与使用 GBase 8s 扩展 TABLE

(MULTISET ( SELECT ... )) 语法来在 FROM 子句中指定等同的派生的表的查询的性能比起来,在

FROM 子句中对表表达式使用 ANSI/ISO 语法的查询的性能至少一样好,设置如 UNION、

INTERSECT 或 MINUS 操作符 这样的操作符,或将 ORDER BY 规范作为复合的表表达式实

现,可造成比简单的表表达式更大的开销。请使用 SET EXPLAIN 语句来检测查询计划和表表达式

的预计成本。

下列是有效的表表达式的示例:

SELECT * FROM (SELECT * FROM t);

SELECT * FROM (SELECT * FROM t) AS s;

SELECT * FROM (SELECT * FROM t) AS s WHERE t.a = s.b;

SELECT * FROM (SELECT * FROM t) AS s, (SELECT * FROM u) AS v WHERE s.a = v.b;

SELECT * FROM (SELECT SKIP 2 col1 FROM tab1 WHERE col1 > 50 ORDER BY col1

DESC);

评论

登录后才可以发表评论
用户头像
GBase用户28017发表于 6个月前
学习。
用户头像
mittens发表于 5个月前
学习了
用户头像
柒柒天晴发表于 2个月前
闪闪发光