MATERIALIZED
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
VIEW
可以标记为 MATERIALIZED
,这意味着它的数据(由 SELECT * FROM view
定义)存储在磁盘上以实现更快的检索,并且与底层表同步,要么在这些表发生更改时立即同步(类似于索引),要么根据请求同步(类似于允许过期的缓存)。
// Create a new view create.createMaterializedView("authors", "author_id", "first_name", "last_name") .as(select(AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) .from(AUTHOR)) .execute();
方言支持
此示例使用 jOOQ
createMaterializedView("a", "id").as(select(AUTHOR.ID).from(AUTHOR))
翻译成以下特定方言的表达式
Aurora Postgres, CockroachDB, Oracle, Postgres, Snowflake, Sybase, YugabyteDB
CREATE MATERIALIZED VIEW a(id) AS SELECT AUTHOR.ID FROM AUTHOR
BigQuery
CREATE MATERIALIZED VIEW a AS SELECT t.id FROM ( SELECT AUTHOR.ID id FROM AUTHOR ) t
Databricks, Redshift
CREATE MATERIALIZED VIEW a AS SELECT t.id FROM ( SELECT AUTHOR.ID FROM AUTHOR ) t (id)
ASE, Access, Aurora MySQL, ClickHouse, DB2, Derby, DuckDB, Exasol, Firebird, H2, HSQLDB, Hana, Informix, MariaDB, MemSQL, MySQL, SQLDataWarehouse, SQLServer, SQLite, Teradata, Trino, Vertica
/* UNSUPPORTED */
使用 jOOQ 3.21 生成。早期 jOOQ 版本的支持可能有所不同。 在我们的网站上翻译您自己的 SQL
反馈
您对此页面有任何反馈吗? 我们很乐意倾听!