设计 ClickHouse 表结构
NineData 提供可视化表结构设计方案,您可以在 SQL 窗口中点击鼠标完成表结构的设计,无需再手动输入 SQL 命令。
视频介绍
前提条件
数据源类型为 ClickHouse。
组织模式下,拥有 SQL 窗口功能模块权限。
组织模式下,拥有对目标数据源的读写权限。
在商业化版本下(、),请确保您的包年包月订阅未过期,否则将无法正常使用数据库 DevOps 服务。您可以在 NineData 控制台页面右上方快速查看剩余配额以及到期时间。
操作步骤
您可以在通过 SQL 窗口创建表或编辑表时设计表结构,本文以创建表为例进行演示。
在 SQL 窗口左侧数据库列表中,右键单击目标数据库,并单击。
提示数据表将会创建在该目标数据库中。
在页签中,即可开始以可视化的方式设计表结构,系统会根据您的配置自动在页面下方生成 。结构设计页面的详情,请在下方选择对应页签并查看。
单击展开完整的可视化表结构参数说明
- 通用项
- 列
- 索引
- Key 配置
- 投影
- 约束
- 分区
- 表选项
- 分布式表配置
- :自定义表的名称。
- :选择当前表需要创建在哪个数据库下,默认为步骤 2 中右键单击的数据库。
- :表的注释,即 COMMENT 属性。
- :选择表的存储引擎。
- (仅表引擎为 Distributed 时可选):选择一个本地表,为该表创建分布式表。
- (仅表引擎为 Distributed 时可选):分布式表的参数。
- :表引擎对应的引擎参数。
- On Cluster:选择当前 ClickHouse 数据库所属的集群,当前新建的表以及后期对该表做的所有操作都会在该集群的所有数据库中生效。此时会被默认选中,该选项将在创建当前表的基础上,自动创建表引擎为 Distributed 的分布式表。
设置列。
- :最左侧文本框,输入列的名称。当前界面中的第一行默认为主键列,列名默认为 id。
- :左侧第二个文本框,单击该文本框可以选择列的数据类型。
- NOT NULL:设置该列是否允许空值。当前界面中的第一行主键列,该选项固定选中,即不允许空值。
- :设置当前列的默认值,即 DEFAULT 属性。在该列没有插入其他值的情况下,则使用该默认值。
- :设置当前列的注释,即 COMMENT 属性。通过注释给列设置说明。长度最大为 1024 个字符。
- PRIMARY KEY:设置当前列是否为主键列,通过选中 PRIMARY KEY 左侧复选框,或者单击列名左侧的放大镜图标开启,您也可以将多个列设置为主键列,组成复合主键。
- :选择列数据的压缩方式。
设置索引。
- :输入索引的名称。
- :选择需要添加的索引的类型。
- :选择需要添加该索引的列名。
- Granularity:索引的粒度,即每隔多少行生成一条索引,默认值为 8192。
设置 Key。
- Primary Key:选择一个或多个列作为 Primary Key,所有设置为 Primary Key 的列均会被自动设置为 Sorting Key。
- Sorting Key:选择一个或多个列作为 Sorting Key。
- Sample By:将目标列设置为采样字段,仅支持选择已设置为 Primary Key 的列。
创建投影(当前仅支持在创建表时创建投影)。
- :输入投影的名称。
- :输入投影的表达式。例如:SELECT * ORDER BY user_name
设置约束(当前仅支持在创建表时设置约束)。
- :输入约束的名称。
- :输入约束的表达式。例如:age >= 20。
如果您的数据库文件太大,可以设置根据列进行分区,以提升读取性能。
- PARTITION BY:选择某个列,或自定义表达式进行分区。
设置表级别的选项。
设置分布式表选项,仅在选中的情况下显示。
- :自定义分布式表的名称。
- :输入分布式表的参数。
单击,并在弹出的窗口中,单击。
提示您也可以复制 SQL 脚本,手动在其他数据库客户端中执行。