BigQuery中的View和Materializedviews之间的区别及其用途。
创始人
2024-12-12 23:00:31
0

在BigQuery中,View和Materialized views是两种SQL查询结果缓存的方式,它们有着不同的用途和性能。

View是一个虚拟的表,它存储了SQL查询的定义。每次查询View时,实际上是执行了这个定义对应的SQL语句,然后返回结果。因此,View只保存了查询的定义,而没有实际存储查询结果。这意味着每次查询View时,都会重新计算结果,即使查询的结果没有发生变化。View适用于经常需要查询的数据,而且查询结果很少会改变的场景。

例如,我们可以创建一个View来查询BigQuery中的样例数据集shakespeare中出现频率最高的单词:

CREATE VIEW top_words AS
SELECT word, SUM(word_count) as count
FROM `bigquery-public-data.samples.shakespeare`
GROUP BY word
ORDER BY count DESC
LIMIT 1000

Materialized view则是通过实际存储查询结果来避免重复计算的。它会在第一次查询时执行查询定义,并保存查询结果到物理表中。之后,每次查询Materialized view时,实际上是查询物理表而不是重新计算查询定义对应的SQL语句。这可以大大加快查询速度,但也会占用存储空间,因为Materialized view可能需要存储大量的数据。Materialized view适用于需要频繁查询的数据,而且查询结果改变的频率较低的场景。

例如,我们可以创建一个Materialized view来保存shakespeare数据集中每个单词每日出现次数的情况:

CREATE MATERIALIZED VIEW daily_word_counts AS
SELECT
  DATE(timestamp) AS date,
  word,
  SUM(word_count) AS count
FROM
  `bigquery-public-data.samples

相关内容

热门资讯

记者揭秘!智星菠萝辅助(透视辅... 记者揭秘!智星菠萝辅助(透视辅助)拱趴大菠萝辅助神器,扑克教程(有挂细节);模式供您选择,了解更新找...
一分钟揭秘!约局吧能能开挂(透... 一分钟揭秘!约局吧能能开挂(透视辅助)hhpoker辅助靠谱,2024新版教程(有挂教学);约局吧能...
透视辅助!wepoker模拟器... 透视辅助!wepoker模拟器哪个好用(脚本)hhpoker辅助挂是真的,科技教程(有挂技巧);囊括...
透视代打!hhpkoer辅助器... 透视代打!hhpkoer辅助器视频(辅助挂)pokemmo脚本辅助,2024新版教程(有挂教程);风...
透视了解!约局吧德州真的有透视... 透视了解!约局吧德州真的有透视挂(透视脚本)德州局HHpoker透视脚本,必胜教程(有挂分析);亲,...
六分钟了解!wepoker挂底... 六分钟了解!wepoker挂底牌(透视)德普之星开辅助,详细教程(有挂解密);德普之星开辅助是一种具...
9分钟了解!wpk私人辅助(透... 9分钟了解!wpk私人辅助(透视)hhpoker德州透视,插件教程(有挂教学);风靡全球的特色经典游...
推荐一款!wepoker究竟有... 推荐一款!wepoker究竟有透视(脚本)哈糖大菠萝开挂,介绍教程(有挂技术);囊括全国各种wepo...
每日必备!wepoker有人用... 每日必备!wepoker有人用过(脚本)wpk有那种辅助,线上教程(有挂规律);wepoker有人用...
玩家必备教程!wejoker私... 玩家必备教程!wejoker私人辅助软件(脚本)哈糖大菠萝可以开挂,可靠技巧(有挂神器)申哈糖大菠萝...