Tipos de Dados com Suporte para o OLTP na Memória
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do Azure
Este artigo lista os tipos de dados que não têm suporte para os recursos do OLTP na Memória:
Tabelas com otimização de memória
Módulos do T-SQL compilados nativamente
Tipos de dados sem-suporte
Não há suporte para os seguintes tipos de dados:
Tipos de Dados com Suporte Importantes
A maioria dos tipos de dados é suportada pelos recursos do OLTP na Memória. Vale a pena observar explicitamente o seguinte:
Tipos de cadeia de caracteres e binários | Para obter mais informações |
---|---|
binary e varbinary* | binary e varbinary (Transact-SQL) |
char e varchar* | char e varchar (Transact-SQL) |
nchar e nvarchar* | nchar e nvarchar (Transact-SQL) |
Para os tipos de dados da cadeia de caracteres e binários anteriores, começando com o SQL Server 2016:
Uma tabela individual com otimização de memória também pode ter várias colunas longas, como
nvarchar(4000)
, mesmo que seus tamanhos somem mais do que o tamanho físico da linha com 8.060 bytes.Uma tabela com otimização de memória pode ter colunas da cadeia de caracteres e binárias com um tamanho máximo dos tipos de dados, como
varchar(max)
.
Identificar LOBs e outras colunas que estão fora de linha
Começando com o SQL Server 2016, as tabelas com otimização de memória dão suporte a colunas fora de linha, permitindo que uma única linha da tabela seja maior que 8060 bytes. A instrução SELECT do Transact-SQL a seguir relata todas as colunas que estão fora de linha em tabelas com otimização de memória. Observe que:
- Todas as colunas de chave de índice são armazenadas em linha.
- Chaves de índice não exclusivas agora podem incluir colunas que permitem valor nulo, em tabelas com otimização de memória.
- Índices podem ser declarados como UNIQUE em uma tabela com otimização de memória.
- Todas as colunas LOB são armazenadas fora de linha.
- Um max_length de -1 indica uma coluna LOB (objeto grande).
SELECT
OBJECT_NAME(m.object_id) as [table],
c.name as [column],
c.max_length
FROM
sys.memory_optimized_tables_internal_attributes AS m
JOIN sys.columns AS c
ON m.object_id = c.object_id
AND m.minor_id = c.column_id
WHERE
m.type = 5;
Outros tipos de dados
Outros Tipos | Para obter mais informações |
---|---|
tipos de tabela | Variáveis de tabela com otimização de memória |
Confira também
Suporte ao Transact-SQL para OLTP na memória
Implementando SQL_VARIANT em uma tabela com otimização de memória
Tamanho da tabela e de linha em tabelas com otimização de memória
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de