tencent cloud

文档反馈

数据库引擎

最后更新时间:2024-01-19 16:45: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
    └────────┴───────┘
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持