跳到主要内容
跳到主要内容
本文档在人工智能的帮助下进行翻译

发现翻译问题?报告翻译问题,帮助我们改进翻译。

报告问题

表引擎

表引擎(表的类型)决定了:

  • 数据如何存储,写入到哪里,以及从哪里读取。
  • 支持哪些查询,以及如何支持。
  • 并发数据访问。
  • 索引的使用(如果存在的话)。
  • 是否可以多线程请求执行。
  • 数据复制参数。

引擎家族

MergeTree

针对高负载任务最通用和功能强大的表引擎。这些引擎的共同特征是快速的数据插入,以及随后的后台数据处理。 MergeTree 家族的引擎支持数据复制(带有 Replicated* 版本的引擎)、分区、二级数据跳过索引以及其他在其他引擎中不支持的功能。

家族中的引擎:

MergeTree 引擎
MergeTree
ReplacingMergeTree
SummingMergeTree
AggregatingMergeTree
CollapsingMergeTree
VersionedCollapsingMergeTree
GraphiteMergeTree

Log

具有最小功能的轻量级 引擎。当您需要快速写入许多小表(最多约 100 万行)并随后整体读取时,它们是最有效的。

家族中的引擎:

Log 引擎
TinyLog
StripeLog
Log

集成引擎

用于与其他数据存储和处理系统进行通信的引擎。

家族中的引擎:

集成引擎
ODBC
JDBC
MySQL
MongoDB
Redis
HDFS
S3
Kafka
EmbeddedRocksDB
RabbitMQ
PostgreSQL
S3Queue
TimeSeries

特殊引擎

家族中的引擎:

特殊引擎
Distributed
Dictionary
Merge
Executable
File
Null
Set
Join
URL
View
Memory
Buffer
External Data
GenerateRandom
KeeperMap
FileLog

虚拟列

虚拟列是表引擎的一个积分属性,在引擎源代码中定义。

您不应在 CREATE TABLE 查询中指定虚拟列,并且您在 SHOW CREATE TABLEDESCRIBE TABLE 查询结果中无法看到它们。虚拟列也是只读的,因此您无法向虚拟列插入数据。

要从虚拟列选择数据,您必须在 SELECT 查询中指定其名称。 SELECT * 不会返回虚拟列的值。

如果您创建一个具有与表虚拟列同名的列的表,则该虚拟列将变得不可访问。我们不建议这样做。为避免冲突,虚拟列名称通常以下划线作为前缀。

Try ClickHouse Cloud for FREE

Easy data ingestion, automatic scaling, built-in SQL console and lots more.

Try it for Free