跳转到主要内容
表引擎主要分为三大类: 其余引擎的用途各不相同,且尚未归入任何家族,因此被归入这个“特殊”类别。
PageDescription
别名表引擎Alias 表引擎为另一张表创建透明代理。所有操作都会转发到目标表,而别名本身不存储任何数据。
Distributed 表引擎使用 Distributed 引擎的表本身不存储任何数据,但允许在多台服务器上执行分布式查询处理。读取会自动并行化。读取期间,如果远程服务器上存在表索引,则会使用这些索引。
字典表引擎Dictionary 引擎将字典数据展示为一张 ClickHouse 表。
Merge 表引擎Merge 引擎 (不要与 MergeTree 混淆) 本身不存储数据,但允许同时从任意数量的其他表中读取数据。
Executable 和 ExecutablePool 表引擎ExecutableExecutablePool 表引擎允许你定义一张表,其行由你定义的脚本生成 (通过将行写入 stdout) 。
File 表引擎File 表引擎将数据保存在文件中,文件格式为受支持格式之一 (TabSeparatedNative 等) 。
Null 表引擎Null 表写入数据时,数据会被忽略。从 Null 表读取数据时,返回结果为空。
Set 表引擎始终驻留在 RAM 中的数据集, предназначена用于 IN 运算符的右侧。
Join 表引擎用于 JOIN 操作的可选预构建数据结构。
URL 表引擎可向远程 HTTP/HTTPS 服务器查询数据或从中读取数据。该引擎类似于 File 引擎。
View 表引擎用于实现视图 (更多信息请参见 CREATE VIEW query) 。它不存储数据,只存储指定的 SELECT 查询。从该表读取时,会运行此查询 (并从查询中移除所有不必要的列) 。
Memory 表引擎Memory 引擎以未压缩形式将数据存储在 RAM 中。读取时,数据会以接收时的原样返回。换句话说,从这张表读取几乎没有开销。
Buffer 表引擎在 RAM 中缓冲待写入的数据,并定期将其刷新到另一张表。读取时,会同时从缓冲区和另一张表中读取数据。
用于查询处理的外部数据ClickHouse 允许将查询处理所需的数据与 SELECT 查询一起发送到服务器。这些数据会被放入临时表中,并可在查询中使用 (例如用于 IN 运算符) 。
GenerateRandom 表引擎GenerateRandom 表引擎会根据给定的表 schema 生成随机数据。
KeeperMap 表引擎该引擎允许你将 Keeper/ZooKeeper cluster 用作具有线性化写入和顺序一致读取能力的一致性键值存储。
FileLog 表引擎该引擎允许将应用程序日志文件作为记录流进行处理。
最后修改于 2026年6月10日