ClickHouse--10--临时表、视图

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


1.临时表

在这里插入图片描述

1.1 特征

ClickHouse 支持临时表,临时表具备以下特征:

  • 当会话结束或者链接中断时,临时表将随会话一起消失
  • 临时表仅能够使用 Memory 表引擎,创建临时表时不需要指定表引擎。
  • 无法为临时表指定数据库。它是在数据库之外创建的,与会话绑定。
  • 如果临时表与另一个表名称相同,那么当在查询时没有显式的指定 db 的情况下,
    将优先使用临时表。
  • 对于分布式处理,查询中使用的临时表将被传递到远程服务器。

1.2 创建一个临时表

在这里插入图片描述
示例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.视图

ClickHouse 中视图分为普通视图和物化视图,两者区别如图所示

在这里插入图片描述
在这里插入图片描述

2.1 普通视图

  • 普通视图不存储数据,它只是一层 select 查询映射,类似于表的别名或者同义词,能简化查询,对原有表的查询性能没有增强的作用,具体性能依赖视图定义的语句,
  • 当从视图中查询时,视图只是替换了映射的查询语句。普通视图当基表删除后不可用。
    在这里插入图片描述
    示例:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2.2 物化视图

  • 物化视图是查询结果集的一份持久化存储,所以它与普通视图完全不同,而非常趋近于表。”查询结果集”的范围很宽泛,可以是基础表中部分数据的一份简单拷贝,也可以是多 表 join 之后产生的结果或其子集,或者原始数据的聚合指标等等。
  • 物化视图创建好之后,若源表被写入新数据则物化视图也会同步更新,POPULATE 关键字决定了物化视图的更新策略,若有 POPULATE 则在创建视图的过程会将源表已经存在的 数据一并导入,类似于 create table … as,若无 POPULATE则物化视图在创建之后 没有数据,只会在创建只有同步之后写入源表的数据,clickhouse 官方并不推荐使用 populated,因为在创建物化视图的过程中同时写入的数据不能被插入物化视图。
  • 物化视图是种特殊的数据表,创建时需要指定引擎,可以用 show tables 查看。另外,物化视图不支持 alter 操作。
  • 产生物化视图的过程就叫做“物化”(materialization),广义地讲,物化视图是 数据库中的预计算逻辑+显式缓存,典型的空间换时间思路,所以用得好的话,它可以避免 对基础表的频繁查询并复用结果,从而显著提升查询的性能。
    在这里插入图片描述
    示例:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

相关推荐

  1. ClickHouse(17)ClickHouse集成JDBC引擎详细解析

    2024-02-15 16:18:01       33 阅读
  2. ClickHouse(18)ClickHouse集成ODBC引擎详细解析

    2024-02-15 16:18:01       38 阅读
  3. ClickHouse(19)ClickHouse集成Hive引擎详细解析

    2024-02-15 16:18:01       32 阅读
  4. oracle 临时

    2024-02-15 16:18:01       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-15 16:18:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-15 16:18:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-15 16:18:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-15 16:18:01       18 阅读

热门阅读

  1. 【算法】树状数组和线段树

    2024-02-15 16:18:01       28 阅读
  2. 判断能否形成等差数列

    2024-02-15 16:18:01       33 阅读
  3. 2/13作业

    2024-02-15 16:18:01       29 阅读
  4. 探索XGBoost:自动化机器学习(AutoML)

    2024-02-15 16:18:01       33 阅读
  5. USACO 2024 Jan B题解

    2024-02-15 16:18:01       35 阅读
  6. Redis的哨兵系统

    2024-02-15 16:18:01       20 阅读
  7. ARIMA时间序列

    2024-02-15 16:18:01       30 阅读
  8. conda与pip的常用命令

    2024-02-15 16:18:01       35 阅读