跳到主要内容
跳到主要内容

特殊表引擎

表引擎主要分为三大类:

其余引擎在用途上各不相同,目前尚未归入某个家族,因此被归类到这个「特殊」类别中。

PageDescription
Alias table engineAlias 表引擎创建到另一张表的透明代理。所有操作都会被转发到目标表,而别名本身不存储任何数据。
Distributed table engine使用 Distributed 引擎的表本身不存储任何数据,但允许在多台服务器上进行分布式查询处理。读取会自动并行化。在读取期间,如果远程服务器上有表索引,则会使用这些索引。
Dictionary table engineDictionary 引擎将字典数据展示为一张 ClickHouse 表。
Merge table engineMerge 引擎(不要与 MergeTree 混淆)本身不存储数据,但允许同时从任意数量的其他表中读取数据。
Executable and ExecutablePool table enginesExecutableExecutablePool 表引擎允许定义一张表,其行由你定义的脚本生成(通过向 stdout 写入行)。
File table engineFile 表引擎将数据保存在文件中,文件格式为支持的格式之一(TabSeparatedNative 等)。
Null table engineNull 表写入时,数据会被忽略。从 Null 表读取时,响应为空。
Set table engine始终存储在 RAM 中的数据集。它旨在用于 IN 运算符的右侧。
Join table engine用于 JOIN 操作的可选预构建数据结构。
URL table engine从远程 HTTP/HTTPS 服务器读取或写入数据。此引擎类似于 File 引擎。
View table engine用于实现视图(更多信息请参见 CREATE VIEW query)。它不存储数据,而只存储指定的 SELECT 查询。从该表读取时,会运行此查询(并从查询中删除所有不需要的列)。
Memory table engineMemory 引擎以未压缩形式将数据存储在 RAM 中。数据以读取时接收到的完全相同形式存储。换句话说,从此表中读取几乎不消耗资源。
Buffer table engine在 RAM 中对要写入的数据进行缓冲,并定期将其刷新到另一张表中。在读取操作期间,会同时从缓冲区和另一张表中读取数据。
External data for query processingClickHouse 允许在发送 SELECT 查询时,连同查询一起向服务器发送处理该查询所需的数据。此数据会被放入一张临时表中,并可在查询中使用(例如在 IN 运算符中)。
GenerateRandom table engineGenerateRandom 表引擎根据给定的表结构生成随机数据。
KeeperMap table engine此引擎允许将 Keeper/ZooKeeper 集群用作一致性的键值存储,提供线性化写入和顺序一致的读取。
FileLog table engine此引擎允许将应用程序日志文件作为记录流进行处理。