这些设置可在 system.settings 中查看,并由源代码自动生成。
mysql_datatypes_support_level
类型
MySQLDataTypesSupport
默认值
decimal,datetime64,date2Date32,geometry
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.7 | decimal,datetime64,date2Date32,geometry | 默认将 MySQL 的具体空间类型(LINESTRING、POLYGON、MULTILINESTRING、MULTIPOLYGON、MULTIPOINT)以及通用的 GEOMETRY 类型映射为对应的 ClickHouse 几何类型。通用的 GEOMETRY 列会映射到总括类型 Geometry;如果读取到某个子类型在 ClickHouse 中没有对应类型的值(GEOMETRYCOLLECTION),会在读取时抛出异常。 |
| 26.3 | decimal,datetime64,date2Date32 | 默认启用现代 MySQL 类型映射。 |
定义如何将 MySQL 类型转换为对应的 ClickHouse 类型。它是一个由逗号分隔的列表,可以是 decimal、datetime64、date2Date32、date2String 或 geometry 的任意组合。默认启用所有现代映射 (decimal、datetime64、date2Date32、geometry) 。
decimal:在精度允许的情况下,将NUMERIC和DECIMAL类型转换为Decimal。datetime64:当精度不为0时,将DATETIME和TIMESTAMP类型转换为DateTime64,而不是DateTime。date2Date32:将DATE转换为Date32,而不是Date。其优先次序高于date2String。date2String:将DATE转换为String,而不是Date。会被datetime64覆盖。geometry:将 MySQL 的空间类型 (LINESTRING、POLYGON、MULTILINESTRING、MULTIPOLYGON、MULTIPOINT) 转换为对应的 ClickHouse 几何类型,并将通用的GEOMETRY类型转换为总括类型Geometry。无论是否启用此选项,POINT始终都会转换为Point。由于通用的GEOMETRY列可以保存任意子类型,如果读取到某个子类型在 ClickHouse 中没有对应类型的值 (GEOMETRYCOLLECTION),会在读取时抛出异常;声明为GEOMETRYCOLLECTION的列会映射为String。除POINT外,可为 NULL 的空间列也会映射为Nullable(String),因为Point是唯一可嵌套在Nullable中的几何类型。每个此类字符串均由 4 字节的 SRID 前缀和 MySQL 返回的 WKB 载荷组成。以上内容适用于根据 MySQL 表的列类型推断 schema 的情况;当 source 为查询 (mysql表函数或MySQL表引擎的query(...)参数) 时,MySQL 会将每个空间结果列都报告为不含具体子类型的通用GEOMETRY,因此此类列 (包括POINT) 会映射为String(如果可为 NULL,则为Nullable(String)) 。
mysql_max_rows_to_insert
类型
UInt64
默认值
65536
MySQL 存储引擎进行 MySQL 批次插入时的最大行数