tencent cloud

腾讯云数据仓库 TCHouse-C

产品动态
产品简介
产品概述
基本概念
集群架构
产品优势
应用场景
购买指南
计费概述
到期与欠费说明
退费说明
配置变更计费说明
快速入门
操作指南
管理集群
参数配置
监控告警
冷热分层
账户与授权
查询管理
日志检索
数据字典
备份与恢复
多 Zookeeper
外部数据入仓
配置 DDL on Cluster 功能
数据重分布
缩容迁移
开发指南
数据库引擎
表引擎
ClickHouse SQL 语法参考
ClickHouse 客户端介绍
ClickHouse 自建迁移方案
服务等级协议
CDWCH 政策
隐私政策
数据隐私和安全协议
常见问题
联系我们
词汇表

数据库引擎

PDF
聚焦模式
字号
最后更新时间: 2025-03-31 16:28:30
默认情况下,ClickHouse 使用自己的数据库引擎,该引擎提供可配置的 表引擎 和所有支持的 SQL 语法。此外,还可以选择使用 MySQL 数据库引擎。

延时引擎

在距最近一次访问间隔expiration_time_in_seconds时间段内,将表保存在内存中,仅适用于 *Log 引擎表。由于针对这类表的访问间隔较长,对保存大量小的 *Log 引擎表进行了优化。

MySQL 引擎

MySQL 引擎用于将远程的 MySQL 服务器中的表映射到 ClickHouse 中,并允许对表进行 INSERT 和 SELECT 查询,以便在 ClickHouse 与 MySQL 之间进行数据交换。
MySQL 数据库引擎会将对其的查询转换为 MySQL 语法并发送到 MySQL 服务器中,因此可执行如 SHOW TABLES 或 SHOW CREATE TABLE 之类的操作。无法对其执行 RENAME、CREATE TABLE 和 ALTER 操作

CREATE DATABASE

CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster]ENGINE = MySQL('host:port', ['database' | database], 'user', 'password')
MySQL 数据库引擎参数说明:
参数
说明
host:port
链接的 MySQL 地址
database
链接的 MySQL 数据库
user
链接的 MySQL 用户
password
链接的 MySQL 用户密码
MySQL 和 ClickHouse 支持的类型对应说明:
MySQL
ClickHouse
UNSIGNED TINYINT
TINYINT
UNSIGNED SMALLINT
SMALLINT
UNSIGNED INT, UNSIGNED MEDIUMINT
INT, MEDIUMINT
UNSIGNED BIGINT
BIGINT
FLOAT
DOUBLE
DATE
DATETIME, TIMESTAMP
BINARY
其他的 MySQL 数据类型将全部都转换为 字符串
同时以上的所有类型都支持 可为空

使用示例

在 MySQL 中创建表:
mysql> USE test;Database changed
mysql> CREATE TABLE `mysql_table` (
-> `int_id` INT NOT NULL AUTO_INCREMENT,
-> `float` FLOAT NOT NULL,
-> PRIMARY KEY (`int_id`));Query OK, 0 rows affected (0,09 sec)
mysql> insert into mysql_table (`int_id`, `float`) VALUES (1,2);Query OK, 1 row affected (0,00 sec)
mysql> select * from mysql_table;+--------+-------+| int_id | value |+--------+-------+| 1 | 2 |+--------+-------+1 row in set (0,00 sec)
在 ClickHouse 中创建 MySQL 类型的数据库,同时与 MySQL 服务器交换数据:
CREATE DATABASE mysql_db ENGINE = MySQL('localhost:3306', 'test', 'my_user', 'user_password')
SHOW DATABASES
┌─name─────┐
│ default │
│ mysql_db │
│ system │
└──────────┘
SHOW TABLES FROM mysql_db
┌─name─────────┐
│ mysql_table │
└──────────────┘
SELECT * FROM mysql_db.mysql_table
┌─int_id─┬─value─┐
12
└────────┴───────┘
INSERT INTO mysql_db.mysql_table VALUES (3,4)
SELECT * FROM mysql_db.mysql_table
┌─int_id─┬─value─┐
12
34
└────────┴───────┘

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈