次の方法で共有


materialized_view()

具体化されたビューの具体化された部分を参照します。

materialized_view() 関数は、ビューの "具体化された" 部分のみに対してクエリを実行する方法をサポートするとともに、ユーザーが許容できる最大待ち時間を指定します。 このオプションは最新のレコードを返すことは保証されませんが、常にビュー全体に対してクエリを実行するよりもパフォーマンスが優れます。 この関数は、たとえばテレメトリ ダッシュボードなど、パフォーマンスのために新しさをいくらか犠牲にしても構わないと思っているシナリオに役立ちます。

構文

materialized_view(Viewname, [ max_age ] )

構文規則について詳しく知る。

パラメーター

名前 必須 説明
ViewName string ✔️ 具体化されたビュー*の名前です。
max_age timespan 指定しないと、ビューの "具体化された" 部分のみが返されます。 指定した場合、最後の 具体化 時間が より @now - max_age大きい場合、関数はビューの具体化された部分を返します。 それ以外の場合、ビュー全体が返されます。これは 、ViewName を直接照会する場合と同じです。

最後に具体化された時点に関係なく、ビューの "具体化された" 部分のみに対してクエリを実行します。

materialized_view("ViewName")

過去 10 分間に具体化された場合にのみ、"具体化された" 部分に対してクエリを実行します。 具体化された部分が 10 分より古い場合は、完全なビューを返します。 このオプションでは、具体化された部分に対してクエリを実行するよりもパフォーマンスが低くなることが予想されます。

materialized_view("ViewName", 10m)

メモ

  • ビューが作成されると、複数のクラスターや複数のデータベースをまたぐクエリへの参加など、データベース内の他のテーブルと同様に、それに対してクエリを実行できます。
  • 具体化されたビューは、ワイルドカードのユニオンや検索には含まれません。
  • ビューに対してクエリを実行するための構文は、ビュー名 (テーブル参照のようなもの) です。
  • 具体化されたビューに対してクエリを実行すると、ソース テーブルに取り込まれたすべてのレコードに基づいて、常に最新の結果が返されます。 このクエリでは、ビューの具体化された部分と、ソース テーブル内の具体化されていないすべてのレコードが結合されます。 詳細については、「 具体化されたビューのしくみ 」を参照してください。