MergeTree主键索引与二级索引工作机制.pdfVIP

  • 1
  • 0
  • 约1.28千字
  • 约 2页
  • 2026-07-20 发布于北京
  • 举报

MergeTree主键索引与二级索引工作机制.pdf

《112_MergeTree的主键索引和二级索引是如何运作的?(2)》

index_granularity,8192

第8192条数据的主键的值,写入到主键索引里去,第16384条数据,写一条索引,就是

16384条数据的主键的值

[0][11546][25568]

其实很简单的,MergeTree的主键索引也就是一级索引,他是稀疏索引,默认是每隔8192

行数据会写入一条索引,也就是primary.idx里面去,每次写入的就是主键的那个值,每个

值都紧凑的挨在一起,这就是一个稀疏索引的概念

稠密索引,mysql用的就是稠密索引,b树来存放索引,你的每条数据在b树里都有一个索

引条目,组织成了一个树,在树里跳转来查找

稀疏索引还是很好的,因为他可以避免索引数据过大,一般上亿数据只要1万条索引就够

了,这就是一个好处

clickhouse对主键索引/一级索引就是这样的一个写法,在primary.idx里,每隔8192条数据

写一条索引,的时候就是紧凑的让索引的值挨在一起,索引很小,10亿条数据对应10

万条索引,几万条而已

索引都是直接加载到内存里去使用的,建立一套内存里的索引数据结构用于加速查询

而且这里有一个MarkRange的概念,就是说针对每个数据片段都是一个

文档评论(0)

1亿VIP精品文档

相关文档