Lindorm SQL admite 14 tipos de datos para usarlos en definiciones de tablas. Esta página enumera cada tipo con su tamaño de almacenamiento, su equivalencia en Java y su compatibilidad con los motores e índices de Lindorm.
Motores aplicables
Los tipos de datos descritos aquí se aplican a LindormTable, LindormTSDB y al motor de almacenamiento columnar.
Tipos de datos compatibles
Booleano
|
Tipo de datos |
Tipo de Java |
Tamaño |
Descripción |
|
BOOLEAN |
java.lang.Boolean |
1 byte |
Acepta |
Tipos de enteros
Todos los tipos de enteros almacenan valores numéricos exactos. El intervalo de valores se basa en la longitud del valor y en si los valores tienen signo.
|
Tipo de datos |
Tipo de Java |
Tamaño |
|
TINYINT |
java.lang.Byte |
1 byte |
|
SMALLINT |
java.lang.Short |
2 bytes |
|
INTEGER |
java.lang.Integer |
4 bytes |
|
BIGINT |
java.lang.Long |
8 bytes |
Tipos de punto flotante
FLOAT y DOUBLE almacenan valores numéricos aproximados. Para datos financieros, como importes de pago, use DECIMAL en su lugar.
|
Tipo de datos |
Tipo de Java |
Tamaño |
Descripción |
|
FLOAT |
java.lang.Float |
4 bytes |
Números aproximados. El intervalo de valores y la precisión dependen de la longitud del valor, de los parámetros |
|
DOUBLE |
java.lang.Double |
8 bytes |
Datos numéricos aproximados. El intervalo de valores y la precisión dependen de la longitud del valor, de los parámetros |
Tipo numérico exacto
|
Tipo de datos |
Tipo de Java |
Tamaño |
Descripción |
|
DECIMAL(precision, scale) |
java.lang.BigDecimal |
Variable |
Valores decimales exactos. La cantidad de bytes aumenta con la precisión. Use DECIMAL para datos de alta precisión, como importes de pago; use FLOAT o DOUBLE para datos en los que sean aceptables valores aproximados, como los datos de monitoreo. |
Parámetros:
precision: Cantidad total de dígitos. Valores válidos: 1–38.scale: Cantidad de posiciones decimales. Valores válidos: desde 0 hasta el valor deprecision.
Tipos de cadena
|
Tipo de datos |
Tipo de Java |
Descripción |
|
VARCHAR |
java.lang.String |
Cadena de longitud variable. Compatible con caracteres chinos. |
|
CHAR(N) |
java.lang.String |
Cadena de longitud fija de |
Tipos binarios
|
Tipo de datos |
Tipo de Java |
Descripción |
|
BINARY(N) |
byte[] |
Valor binario de longitud fija de |
|
VARBINARY |
byte[] |
Valor binario de longitud variable. Si se usa como columna de clave principal, debe ser la última columna de clave principal. |
Tipos de fecha y hora
|
Tipo de datos |
Tipo de Java |
Rango |
Descripción |
|
DATE |
java.sql.Types#DATE |
— |
Solo fechas; la hora se descarta. Los valores DATE son propensos a errores durante la conversión de zona horaria. La fecha almacenada se interpreta según la zona horaria de la conexión. Evite este tipo si la zona horaria debe ser exacta. Consulte Información de contexto. |
|
TIME |
java.sql.Types#TIME |
— |
Registra valores de hora. Consulte Información de contexto. |
|
TIMESTAMP |
java.sql.Types#TIMESTAMP |
Hasta |
Marcas de tiempo. Consulte Información de contexto. |
El valor máximo de TIMESTAMP difiere entre MySQL y Lindorm. El límite de MySQL es 2038-01-19 03:14:07, mientras que Lindorm es compatible con valores hasta 9999-12-31 23:59:59.
Compatibilidad de motores
A continuación se muestra una tabla con los tipos de datos compatibles con cada motor.
〇 = compatible; N = no compatible.
|
Tipo de datos |
LindormTable |
LindormTSDB |
Motor de almacenamiento columnar |
|
BOOLEAN |
〇 |
〇 |
〇 |
|
TINYINT |
〇 |
N |
〇 |
|
SMALLINT |
〇 |
N |
〇 |
|
INTEGER |
〇 |
N |
〇 |
|
BIGINT |
〇 |
〇 |
〇 |
|
FLOAT |
〇 |
N |
〇 |
|
DOUBLE |
〇 |
〇 |
〇 |
|
DECIMAL(precision, scale) |
〇 |
N |
〇 |
|
VARCHAR |
〇 |
〇 |
〇 |
|
CHAR(N) |
〇 |
〇 |
〇 |
|
BINARY(N) |
〇 |
N |
〇 |
|
VARBINARY |
〇 |
N |
〇 |
|
DATE |
〇 |
N |
〇 |
|
TIME |
〇 |
N |
N |
|
TIMESTAMP |
〇 |
〇 |
〇 |
Compatibilidad de índices
Para acelerar las consultas sobre datos sin procesar en LindormTable, cree secondary indexes para consultas puntuales, search indexes para consultas de texto completo y multidimensionales, o columnar indexes para cargas de trabajo analíticas. A continuación se muestra una tabla con los tipos de datos compatibles con cada tipo de índice.
〇 = compatible; N = no compatible.
|
Tipo de datos |
Índice secundario |
Índice de búsqueda |
Índice columnar |
|
BOOLEAN |
〇 |
〇 |
〇 |
|
TINYINT |
〇 |
〇 |
〇 |
|
SMALLINT |
〇 |
〇 |
〇 |
|
INTEGER |
〇 |
〇 |
〇 |
|
BIGINT |
〇 |
〇 |
〇 |
|
FLOAT |
〇 |
〇 |
〇 |
|
DOUBLE |
〇 |
〇 |
〇 |
|
DECIMAL(precision, scale) |
〇 |
N |
〇 |
|
VARCHAR |
〇 |
〇 |
〇 |
|
CHAR(N) |
〇 |
〇 |
〇 |
|
BINARY(N) |
〇 |
〇 |
〇 |
|
VARBINARY |
〇 |
〇 |
〇 |
|
DATE |
〇 |
N |
〇 |
|
TIME |
〇 |
N |
N |
|
TIMESTAMP |
〇 |
〇 (requiere LindormTable 2.6.5 o posterior) |
〇 |