Lindorm支持通过简单的SQL语句完成数据的查询、分析和管理。为了更好地处理数据,在创建表前,您需要了解Lindorm SQL支持的基础数据类型及相关使用限制。
适用引擎
基础数据类型适用于宽表引擎、时序引擎和列存引擎。
基础数据类型介绍
数据类型 | 对应的Java类型 | 描述 |
数据类型 | 对应的Java类型 | 描述 |
BOOLEAN | java.lang.Boolean | 长度为1字节。布尔型,取值为true或false。 |
TINYINT | java.lang.Byte | 长度为1字节。定长精确数值类型。取值范围取决于长度,以及数值中有无符号。 |
SMALLINT | java.lang.Short | 长度为2字节。定长精确数值类型。取值范围取决于长度,以及数值中有无符号。 |
INTEGER | java.lang.Integer | 长度为4字节。定长精确数值类型。取值范围取决于长度,以及数值中有无符号。 |
BIGINT | java.lang.Long | 长度为8字节。定长精确数值类型。取值范围取决于长度,以及数值中有无符号。 |
FLOAT | java.lang.Float | 长度为4字节。定长非精确数值类型。取值范围和精度取决于长度、precision和scale,以及数值中有无符号。 |
DOUBLE | java.lang.Double | 长度为8字节。定长非精确数值类型。取值范围和精度取决于长度、precision和scale,以及数值中有无符号。使用SQL语句拼写时,按照科学计数法的方式来表示DOUBLE类型的值。 |
DECIMAL(precision,scale) | java.lang.BigDecimal | 变长二进制类型。DECIMAL为十进制,消耗的字节数随精度的增加而增加,通常用于存储金额等高精度数据,对于精度要求不高的场景(例如监控),可以使用FLOAT或DOUBLE。定义类型时需要指定precision和scale。
|
VARCHAR / CHAR(N) | java.lang.String | 字符串,支持中文。
|
BINARY(N) | byte[] | 定长二进制类型,N表示字节数。写入数据时,包含以下两种情况:
|
VARBINARY | byte[] | 变长二进制类型,作为主键时只能是最后一列主键。 |
DATE | java.sql.Types#DATE | 日期时间(仅存储日期,不存储时间。在时区转换过程中易出现日期错误的现象,不推荐使用)。 |
TIME | java.sql.Types#TIME | 时间类型。 |
TIMESTAMP | java.sql.Types#TIMESTAMP | 时间戳。 |
引擎支持说明
宽表引擎、时序引擎和列存引擎对基础数据类型的支持情况如下:
〇表示支持该数据类型,✖️表示目前不支持该数据类型。
数据类型 | 对应的Java类型 | 宽表引擎 | 时序引擎 | 列存引擎 |
数据类型 | 对应的Java类型 | 宽表引擎 | 时序引擎 | 列存引擎 |
BOOLEAN | java.lang.Boolean | 〇 | 〇 | 〇 |
TINYINT | java.lang.Byte | 〇 | ✖️ | 〇 |
SMALLINT | java.lang.Short | 〇 | ✖️ | 〇 |
INTEGER | java.lang.Integer | 〇 | ✖️ | 〇 |
BIGINT | java.lang.Long | 〇 | 〇 | 〇 |
FLOAT | java.lang.Float | 〇 | ✖️ | 〇 |
DOUBLE | java.lang.Double | 〇 | 〇 | 〇 |
DECIMAL(precision,scale) | java.lang.BigDecimal | 〇 | ✖️ | 〇 |
VARCHAR / CHAR(N) | java.lang.String | 〇 | 〇 | 〇 |
BINARY(N) | byte[] | 〇 | ✖️ | 〇 |
VARBINARY | byte[] | 〇 | ✖️ | 〇 |
DATE | java.sql.Types#DATE | 〇 | ✖️ | 〇 |
TIME | java.sql.Types#TIME | 〇 | ✖️ | ✖️ |
TIMESTAMP | java.sql.Types#TIMESTAMP | 〇 | 〇 | 〇 |
索引支持说明
您可以在宽表引擎中为原始数据创建二级索引、搜索索引或列存索引来加速数据查询。
二级索引、搜索索引和列存索引支持的基础数据类型如下:
〇表示支持该数据类型,✖️表示目前不支持该数据类型。
数据类型 | 对应的Java类型 | 二级索引 | 搜索索引 | 列存索引 |
数据类型 | 对应的Java类型 | 二级索引 | 搜索索引 | 列存索引 | |
BOOLEAN | java.lang.Boolean | 〇 | 〇 | 〇 | |
TINYINT | java.lang.Byte | 〇 | 〇 | 〇 | |
SMALLINT | java.lang.Short | 〇 | 〇 | 〇 | |
INTEGER | java.lang.Integer | 〇 | 〇 | 〇 | |
BIGINT | java.lang.Long | 〇 | 〇 | 〇 | |
FLOAT | java.lang.Float | 〇 | 〇 | 〇 | |
DOUBLE | java.lang.Double | 〇 | 〇 | 〇 | |
DECIMAL(precision,scale) | java.lang.BigDecimal | 〇 | ✖️ | 〇 | |
VARCHAR / CHAR(N) | java.lang.String | 〇 | 〇 | 〇 | |
BINARY(N) | byte[] | 〇 | 〇 | 〇 | |
VARBINARY | byte[] | 〇 | 〇 | 〇 | |
DATE | java.sql.Types#DATE | 〇 | ✖️ | 〇 | |
TIME | java.sql.Types#TIME | 〇 | ✖️ | ✖️ | |
TIMESTAMP | java.sql.Types#TIMESTAMP | 〇 | 〇 要求宽表引擎为2.6.5及以上版本。 | 〇 |
- 本页导读 (1)
- 适用引擎
- 基础数据类型介绍
- 引擎支持说明
- 索引支持说明