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

[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.kler.cn/news/148186.html

相关文章:

  • 人工智能应用:文本分类的技术突破与实战指导
  • 学术科研常用工具
  • Flask 使用Jinja2模板引擎
  • 基于scrapy框架的腾讯招聘信息网络爬虫设计与实现
  • 「go module」一文总结 go mod 入门使用
  • 做外贸想赚客户的钱,先想想自己比别人强在哪
  • risc-v异常处理
  • MySQL实现高可用方案-MHA安装及配置
  • 构建 App 的方法
  • 浅谈硬件连通性测试几大优势
  • Android frameworks 开发总结之十(lock screen message Battery Last full charge)
  • 异步爬虫提速实践-在Scrapy中使用Aiohttp/Trio
  • 【Java】实现一个自己的线程池
  • 基于阶梯碳交易的含P2G-CCS耦合和燃气掺氢的虚拟电厂优化调度matlab程序
  • Slf4j使用Logback时,Logback如何初始化
  • 大语言模型损失函数详解
  • 【论文阅读笔记】Smil: Multimodal learning with severely missing modality
  • paddleocr笔记
  • cocos2dx ​​Animate3D(二)
  • 【TiDB】TiDB离线方式部署
  • Ubuntu18.04安装A-Loam保姆级教程
  • BUUCTF [MRCTF2020]Ez_bypass 1
  • npm管理发布包-创建与发布
  • python:range函数的使用
  • 蓝桥杯-01简介
  • 「江鸟中原」有关HarmonyOS-ArkTS的Http通信请求
  • 获得文件MD5——校验完整性 window 和 Linux下操作
  • 2023亚太地区数学建模C题思路分析+模型+代码+论文
  • oracle 表树形结构查询递归查询
  • 学习知识回顾随笔(远程连接MySQL|远程访问Django|HTTP协议|Web框架)