网站首页 > 博客文章 正文
mergetree 引擎中索引分为一级索引与二级索引,一级索引采用稀疏索引实现,二级索引采用的是跳数索引实现——由数据的聚合信息构建而成。
一级索引
主键索引由 PRIMARY KEY来定义, mergetree 会依据`index_granularity`索引粒度(默认为8192)为数据表生成一级索引并保存至primary.idx文件中。通常情况下主键的定义可以由ORDER BY来指代主键。
稀疏索引与稠密索引
- 稠密索引
稠密索引中每一行索引标记都会对应一行具体的数据记录
- 稀疏索引
每行索引会对应一段数据,而不是一行。比如一本书,稀疏索引相当于一级章节目录。
稀疏索引的优化显而易见,仅需要少量的标记就能够记录大量数据的区间位置。merge引擎默认的索引粒度8192, 1亿行的数据只需要12208行索引标记
索引粒度
mergetree 引擎的索引粒度由`index_granularity`参数来指定, 默认为8192。
即把数据按照粒度进行划分区间,其中每个区间最多8192(默认)行数据。`index_granularity`不单做用于一级索引(.idx),同时也会影响数据标记(.mrk)和数据文件(.bin)。 因为仅有一级索引自身是无法完成查询工作的,需要借助数据标记才能定位数据,所以一级索引和数据标识的间隔粒度必须得一致。另外clickhouse 的数据文件也会按照`index_granularity`的间隔粒度进行压缩
二级索引
即跳数索引,由数据的聚合信息构建而成。根据索引类型的不同,其聚合信息的内容也不相同。默认是关闭的,可以修改`allow_experimental_data_skipping_indices = 1` 打开。数据表支持同时声明多个跳数索引
跳数索引类型
- minmax - 记录一段数据内的最小和最大值,其索引的作用类似分区目录的minmax索引,能够快速跳过无用的数据区间
- set - 记录声明字段或表达式的取值(唯一值)
- ngrambf_v1 - 数据短语布隆表过滤器
- tokenbf_v1 - ngrambf_v1 的变种
猜你喜欢
- 2024-10-17 Uber如何使用ClickHouse建立日志分析平台?
- 2024-10-17 ClickHouse内核分析-MergeTree的存储结构和查询加速
- 2024-10-17 clickhouse ----入门(clickhouse-server)
- 2024-10-17 ClickHouse 查询优化(clickhouse join优化)
- 2024-10-17 clickhouse的技术文档--后面有安装文档
- 2024-10-17 使用Canal实现ClickHouse实时同步MySQL数据
- 2024-10-17 性能提高15倍!只是把MySQL换成了ClickHouse
- 2024-10-17 大数据ClickHouse进阶(十八):数据字典类型
- 2024-10-17 Clickhouse单机部署(clickhouse django)
- 2024-10-17 Clickhouse系列-第二节-基本原理(clickhouse ui)
你 发表评论:
欢迎- 374℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 369℃用AI Agent治理微服务的复杂性问题|QCon
- 360℃初次使用IntelliJ IDEA新建Maven项目
- 353℃Maven技术方案最全手册(mavena)
- 351℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 348℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 347℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 344℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)