■ はじめに
https://dk521123.hatenablog.com/entry/2022/10/10/000000
で、Snowflakeのビューをやったが、 Materialized View (マテリアライズドビュー; マテビュー) が ちょくちょくキーワードとしてでてくるので、この機会に 徐々にまとめていく。 ちなみに、Oracle でもあるらしく、10年以上前の自分がメモっていた。。。
https://dk521123.hatenablog.com/entry/2010/04/22/130643
目次
【1】Materialized View 【2】利点 【3】使用上の注意 【4】構文 【5】おまけ:Dynamic Table 1)構文
【1】Materialized View
* 実データを保持するビュー => SQL結果をテーブルとして保持している => どっちかっていうと、ビューのようなテーブル?? cf. Materialized = 実体化された
https://docs.snowflake.com/ja/user-guide/views-materialized
【2】利点
* クエリ結果をストレージに物理的に保存することによって、 パフォーマンスが向上する
【3】使用上の注意
https://docs.snowflake.com/ja/sql-reference/sql/create-materialized-view
* Enterprise Editionが必要 * 他にも、HAVING 句または ORDER BY 句は指定できない等のあり。 => 以下の公式ドキュメントを一読した方がいい
https://docs.snowflake.com/ja/sql-reference/sql/create-materialized-view#usage-notes
マテリアライズドビューの制限
* 以下の公式ドキュメントを参照。 => かなり多くの制限があるので、使用する場合は確認しておいた方がいい
【4】構文
https://docs.snowflake.com/ja/sql-reference/sql/create-materialized-view#syntax
CREATE MATERIALIZED VIEW demo_mate_view COMMENT='Demo mate view' AS SELECT col1, col2 FROM demo_table;
【5】おまけ:Dynamic Table
View ではないが、 Dynamic Table(ダイナミックテーブル)ってのが 正式リリースではないが注目されているっぽいので、メモ。
https://www.snowflake.com/blog/dynamic-tables-delivering-declarative-streaming-data-pipelines/?lang=ja
動画(英語)
https://www.youtube.com/watch?v=o8YXmsy8Rss
一般サイト
https://knowledge.insight-lab.co.jp/snowflake/stream_data_pipeline#section_dynamictables_8
https://zenn.dev/gappy/articles/bcced35e8156ba
1)構文
CREATE [ OR REPLACE ] DYNAMIC TABLE LAG = ' { seconds | minutes | hours | days }' WAREHOUSE = AS SELECT
参考文献
https://itsol.isid.co.jp/snowflake/blog/snowflake-view-vol-009-3450/
関連記事
Snowflake ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2021/11/02/130111
Snowflake ~ 入門編 / Hello world ~
https://dk521123.hatenablog.com/entry/2021/11/22/212520
Snowflake ~ 基本編 / View ~
https://dk521123.hatenablog.com/entry/2022/10/10/000000