当前位置: 首页 > news >正文

Clickhouse Projection

背景

Clickhouse一个视图本质还是表,只支持一种order By,不然要维护太多的视图。

物化视图能力有限。

在设计聚合功能时,考虑使用AggregatingMergeTree表引擎,现在有了projections,打算尝试使用一下

操作

ADD PROJECTION​

ALTER TABLE [db.]name [ON CLUSTER cluster] ADD PROJECTION [IF NOT EXISTS] name ( SELECT <COLUMN LIST EXPR> [GROUP BY] [ORDER BY] ) - Adds projection description to tables metadata.

DROP PROJECTION​

ALTER TABLE [db.]name [ON CLUSTER cluster] DROP PROJECTION [IF EXISTS] name - Removes projection description from tables metadata and deletes projection files from disk. Implemented as a mutation.

MATERIALIZE PROJECTION​

ALTER TABLE [db.]table [ON CLUSTER cluster] MATERIALIZE PROJECTION [IF EXISTS] name [IN PARTITION partition_name] - The query rebuilds the projection name in the partition partition_name. Implemented as a mutation.

CLEAR PROJECTION​

ALTER TABLE [db.]table [ON CLUSTER cluster] CLEAR PROJECTION [IF EXISTS] name [IN PARTITION partition_name] - Deletes projection files from disk without removing description. Implemented as a mutation.

The commands ADDDROP and CLEAR are lightweight in a sense that they only change metadata or remove files.

查看表的投影配置

DDL中查看

可以查询system.parts。里面有个projections的数组。

相关文章:

  • 【Java核心技术10】Java数组详解
  • 马克·雷伯特访谈:机器人的未来及波士顿动力的创新之路
  • AWS无服务器 应用程序开发—第二章AWS CodeCommit、AWS Amplify
  • 特种设备高处安装维护拆除作业精选历年试题
  • 内网渗透-隧道搭建ssp隧道代理工具frp内网穿透技术
  • 「Python-docx 专栏」docx设置页脚、页码、页码对齐方式
  • 【UML用户指南】-16-对高级结构建模-构件
  • “灵活就业者“超两亿人 游戏开发者如何破局?
  • github安全问题token和sshkeys
  • 某宝APP参数通过SDK把APP参数转URL参数链接方法
  • 第九届信也科技杯全球AI算法大赛——语音深度鉴伪识别参赛A榜 0.968961分
  • Python爬虫小白入门(二)BeautifulSoup库
  • SpringBoot配置第三方专业缓存技术Ehcache
  • React入门教程:构建你的第一个React应用
  • 数据库 | 试卷五试卷六试卷七
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • Android单元测试 - 几个重要问题
  • Android优雅地处理按钮重复点击
  • Fabric架构演变之路
  • HTTP中GET与POST的区别 99%的错误认识
  • Idea+maven+scala构建包并在spark on yarn 运行
  • laravel with 查询列表限制条数
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • PhantomJS 安装
  • Python爬虫--- 1.3 BS4库的解析器
  • scala基础语法(二)
  • spring security oauth2 password授权模式
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 笨办法学C 练习34:动态数组
  • 番外篇1:在Windows环境下安装JDK
  • 官方解决所有 npm 全局安装权限问题
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 聊聊hikari连接池的leakDetectionThreshold
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 前端工程化(Gulp、Webpack)-webpack
  • 前端面试之CSS3新特性
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 一道闭包题引发的思考
  • 赢得Docker挑战最佳实践
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 运行时添加log4j2的appender
  • 你对linux中grep命令知道多少?
  • Java总结 - String - 这篇请使劲喷我
  • ​Python 3 新特性:类型注解
  • (06)Hive——正则表达式
  • (12)目标检测_SSD基于pytorch搭建代码
  • (C++哈希表01)
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (接口自动化)Python3操作MySQL数据库
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...