BigQuery中的View和Materializedviews之间的区别及其用途。
创始人
2024-12-12 23:01:07
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

相关内容

热门资讯

iwatch怎么连接安卓系统,... 你有没有想过,那款时尚又实用的iWatch,竟然只能和iPhone好上好?别急,今天就来给你揭秘,怎...
安卓系统怎么连不上carlif... 安卓系统无法连接CarLife的原因及解决方法随着智能手机的普及,CarLife这一车载互联功能为驾...
iphone系统与安卓系统更新... 最近是不是你也遇到了这样的烦恼?手机更新系统总是失败,急得你团团转。别急,今天就来给你揭秘为什么iP...
oppo手机安卓系统换成苹果系... OPPO手机安卓系统换成苹果系统:现实吗?如何操作?随着智能手机市场的不断发展,用户对于手机系统的需...
安卓平板改windows 系统... 你有没有想过,你的安卓平板电脑是不是也能变身成Windows系统的超级英雄呢?想象在同一个设备上,你...
安卓系统上滑按键,便捷生活与高... 你有没有发现,现在手机屏幕越来越大,操作起来却越来越方便了呢?这都得归功于安卓系统上的那些神奇的上滑...
安卓系统连接耳机模式,蓝牙、有... 亲爱的手机控们,你们有没有遇到过这种情况:手机突然变成了“耳机模式”,明明耳机没插,声音却只从耳机孔...
安卓换鸿蒙系统会卡吗,体验流畅... 最近手机圈可是热闹非凡呢!不少安卓用户都在议论纷纷,说鸿蒙系统要来啦!那么,安卓手机换上鸿蒙系统后,...
希沃系统怎么装安卓系统,解锁更... 亲爱的读者们,你是否也像我一样,对希沃一体机上的安卓系统充满了好奇呢?想象在教室里,你的希沃一体机不...
安装了Anaconda之后找不... 在安装Anaconda后,如果找不到Jupyter Notebook,可以尝试以下解决方法:检查环境...