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

[CLickhouse] 学习小计

1.建表

  正常按照如下语句进行建表,但会报错说缺少ORDER BY 或 PRIMARY KEY

CREATE TABLE omds.a
(`x` String COMMENT '',`y` String COMMENT '',`z` String 
)
ENGINE = MergeTree();

    若我们仅需建一个没有主键的表,直接使用如下建表语句即可:

CREATE TABLE omds.a
(`x` String COMMENT '',`y` String COMMENT '',`z` String 
)
ENGINE = MergeTree()
ORDER BY tuple()

    因为在 ClickHouse 中,ORDER BY tuple() 是用来定义表的主键的。tuple() 函数创建了一个空的元组,这意味着表没有主键,即使用 ORDER BY tuple() 可以避免定义不必要的主键。        

    在 ClickHouse 中,主键用于优化数据读取,如果表没有主键,那么在执行查询时可能需要全表扫描,这可能会影响查询性能。但有些情况下可能不需要主键,例如,如果我们的表是一个临时表或者数据量非常小。在这些情况下,使用 ORDER BY tuple() 可以避免定义不必要的主键。

    若要设置主键,则可以先对主键进行PRIMARY KEY指定,再ORDER BY排序即可:

CREATE TABLE omds.b
(`x` String COMMENT '',`y` String COMMENT '',`z` String 
)
ENGINE = MergeTree()
PRIMARY KEY x
ORDER BY x   ;

http://www.lryc.cn/news/239996.html

相关文章:

  • 一款非常优秀的项目管理工具:进度猫(推荐)
  • Bert学习笔记(简单入门版)
  • 信号功率放大器的工作原理和特点是什么
  • 基于go标准分层架构项目设计实现
  • 原理Redis-IntSet
  • 逸学java【初级菜鸟篇】9.3 Stream流
  • html页面直接使用elementui Plus时间线 + vue3
  • 信息压缩模型在自然语言处理中的应用和探讨
  • 新版mmdetection3d将3D bbox绘制到图像
  • 合伙人注册即得/创业平台扶持!
  • 02_使用API_String
  • Spring IOC/DI和MVC及若依对应介绍
  • python的多层嵌套循环时,break可以退出多层循环吗?
  • 链表OJ--上
  • 内衣洗衣机哪些品牌质量好实惠?小型洗衣机全自动
  • 推荐一款适合做智慧旅游的前端模板
  • VL06O报表添加增强字段
  • SpringBoot Admin
  • Java基础-----正则表达式
  • 基于 Eureka 的 Ribbon 负载均衡实现原理【SpringCloud 源码分析】
  • 如何用CHAT解释文章含义?
  • 创作4周年
  • 《opencv实用探索·一》QT+opencv实现图片拼接和Mat转QImage
  • Apahce虚拟主机配置演示
  • 加班做报表被嘲低效!快用大数据分析工具
  • 详解——菱形继承及菱形虚拟继承
  • 路由的控制与转发原理
  • ios qt开发要点
  • 免费小程序商城搭建之b2b2c o2o 多商家入驻商城 直播带货商城 电子商务b2b2c o2o 多商家入驻商城 直播带货商城 电子商务
  • ChatGPT最强?文心一言与ChatGPT对比