索引

简介: 索引

  索引

  主键

  ClickHouse支持主键索引,它将每列数据按照index granularity(默认8192行)进行划分,会为每个数据片段创建一个索引文件,索引文件包含每个索引行(『标记』)的主键值。索引行号定义为 n * index_granularity 。当数据被插入到表中时,会分成数据片段并按主键的字典序排序。例如,主键是 (CounterID, Date) 时,片段中数据按 CounterID 排序,具有相同 CounterID 的部分按 Date 排序。

  但是值得注意的是:ClickHouse 不要求主键惟一。所以,你可以插入多条具有相同主键的行。要想实现去重效果,需要结合具体的表引擎ReplacingMergeTree、CollapsingMergeTree、VersionedCollapsingMergeTree实现。

  稀疏索引

  ClickHouse支持对任意列创建任意数量的稀疏索引。其中被索引的value可以是任意的合法SQL Expression,并不仅仅局限于对column value本身进行索引。之所以叫稀疏索引,是因为它本质上是对一个完整index granularity(默认8192行)的统计信息,并不会具体记录每一行在文件中的位置。

目录
相关文章
|
索引
索引
索引。
99 0
|
4月前
|
存储 关系型数据库 数据库
什么是索引
【10月更文挑战第15天】什么是索引
|
6月前
|
TensorFlow 算法框架/工具 索引
索引
【8月更文挑战第13天】索引。
38 1
|
9月前
|
SQL 搜索推荐 关系型数据库
|
9月前
|
SQL 关系型数据库 MySQL
关于索引的使用
关于索引的使用
|
存储 关系型数据库 MySQL
了解和认识索引
了解和认识索引 。
74 0
|
9月前
|
安全 关系型数据库 MySQL
合理使用索引
【5月更文挑战第9天】这篇文章探讨了数据库索引的高效使用,包括函数和表达式索引、查找和删除未使用的索引、安全删除索引、多列索引策略、部分索引以及针对通配符搜索、排序、散列和降序索引的特殊技巧。还介绍了部分索引在减少索引大小和处理唯一性约束中的应用,以及PostgreSQL对前导通配符搜索的支持。通过遵循简单的多列索引规则和利用特定类型的索引,如哈希和降序索引,可以显著提高查询性能。
117 0
|
9月前
|
存储 算法 关系型数据库
索引总结(2)
索引总结(2)
59 0
|
关系型数据库 MySQL 数据库
了解和认识索引
了解和认识索引。
62 0
|
关系型数据库 MySQL 索引
索引(2)
索引(2)。
52 0