O Lindorm SQL oferece suporte a 14 tipos de dados para definição de tabelas. Esta página lista cada tipo com seu tamanho de armazenamento, mapeamento Java e compatibilidade com mecanismos e índices do Lindorm.
Mecanismos aplicáveis
Os tipos de dados descritos aqui aplicam-se ao LindormTable, ao LindormTSDB e ao mecanismo de armazenamento colunar.
Tipos de dados suportados
Booleano
|
Tipo de dado |
Tipo Java |
Tamanho |
Descrição |
|
BOOLEAN |
java.lang.Boolean |
1 byte |
Armazena |
Tipos inteiros
Todos os tipos inteiros armazenam valores numéricos exatos. O intervalo de valores depende do comprimento e da sinalização dos dados.
|
Tipo de dado |
Tipo Java |
Tamanho |
|
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 ponto flutuante
FLOAT e DOUBLE armazenam valores numéricos aproximados. Para dados financeiros, como valores de pagamento, use DECIMAL.
|
Tipo de dado |
Tipo Java |
Tamanho |
Descrição |
|
FLOAT |
java.lang.Float |
4 bytes |
Armazena valores numéricos aproximados. O intervalo e a precisão dependem do comprimento do valor, dos parâmetros |
|
DOUBLE |
java.lang.Double |
8 bytes |
Armazena valores numéricos aproximados. O intervalo e a precisão dependem do comprimento do valor, dos parâmetros |
Tipo numérico exato
|
Tipo de dado |
Tipo Java |
Tamanho |
Descrição |
|
DECIMAL(precision, scale) |
java.lang.BigDecimal |
Variável |
Armazena valores decimais exatos. O número de bytes aumenta conforme a precisão. Use DECIMAL para dados de alta precisão, como valores de pagamento. Use FLOAT ou DOUBLE quando valores aproximados forem aceitáveis, como em dados de monitoramento. |
Parâmetros:
precision: Número total de dígitos. Valores válidos: 1–38.scale: Número de casas decimais. Valores válidos: 0 até o valor deprecision.
Tipos de string
|
Tipo de dado |
Tipo Java |
Descrição |
|
VARCHAR |
java.lang.String |
String de comprimento variável. Suporta caracteres chineses. |
|
CHAR(N) |
java.lang.String |
String de comprimento fixo com |
Tipos binários
|
Tipo de dado |
Tipo Java |
Descrição |
|
BINARY(N) |
byte[] |
Valor binário de comprimento fixo com |
|
VARBINARY |
byte[] |
Valor binário de comprimento variável. Se usado como coluna de chave primária, deve ser a última coluna da chave primária. |
Tipos de data e hora
|
Tipo de dado |
Tipo Java |
Intervalo |
Descrição |
|
DATE |
java.sql.Types#DATE |
— |
Armazena apenas valores de data e descarta a hora. Os valores DATE estão sujeitos a erros durante a conversão de fuso horário, pois a data armazenada é interpretada em relação ao fuso horário da conexão. Evite este tipo quando a precisão do fuso horário for importante. Consulte Informações de contexto. |
|
TIME |
java.sql.Types#TIME |
— |
Armazena valores de hora. Consulte Informações de contexto. |
|
TIMESTAMP |
java.sql.Types#TIMESTAMP |
Até |
Armazena valores de timestamp. Consulte Informações de contexto. |
O valor máximo de TIMESTAMP difere entre MySQL e Lindorm. O MySQL tem limite em 2038-01-19 03:14:07, enquanto o Lindorm suporta valores até 9999-12-31 23:59:59.
Compatibilidade com mecanismos
A tabela a seguir mostra os tipos de dados compatíveis com cada mecanismo.
〇 = suportado; N = não suportado.
|
Tipo de dado |
LindormTable |
LindormTSDB |
Mecanismo de armazenamento colunar |
|
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 |
〇 |
〇 |
〇 |
Compatibilidade com índices
Para acelerar consultas em dados brutos no LindormTable, crie índices secundários para buscas pontuais, índices de pesquisa para consultas de texto completo e multidimensionais, ou índices colunares para cargas de trabalho analíticas. A tabela a seguir mostra os tipos de dados compatíveis com cada tipo de índice.
〇 = suportado; N = não suportado.
|
Tipo de dado |
Índice secundário |
Índice de pesquisa |
Índice colunar |
|
BOOLEAN |
〇 |
〇 |
〇 |
|
TINYINT |
〇 |
〇 |
〇 |
|
SMALLINT |
〇 |
〇 |
〇 |
|
INTEGER |
〇 |
〇 |
〇 |
|
BIGINT |
〇 |
〇 |
〇 |
|
FLOAT |
〇 |
〇 |
〇 |
|
DOUBLE |
〇 |
〇 |
〇 |
|
DECIMAL(precision, scale) |
〇 |
N |
〇 |
|
VARCHAR |
〇 |
〇 |
〇 |
|
CHAR(N) |
〇 |
〇 |
〇 |
|
BINARY(N) |
〇 |
〇 |
〇 |
|
VARBINARY |
〇 |
〇 |
〇 |
|
DATE |
〇 |
N |
〇 |
|
TIME |
〇 |
N |
N |
|
TIMESTAMP |
〇 |
〇 (requer LindormTable 2.6.5 ou posterior) |
〇 |