Quando uso uma variável de um tipo de dados de objeto grande (LOB) no SQL Server, a coisa toda é mantida na memória o tempo todo? Mesmo que seja 2GB de tamanho?
relate perguntas
-
SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado
-
Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?
-
Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?
-
Quais são as principais causas de deadlocks e podem ser evitadas?
-
Como determinar se um Índice é necessário ou necessário
O limite de LOB de 2 GB se aplica apenas ao armazenamento persistente ; variáveis não têm limite.
O SQL Server começa com uma implementação pura na memória.
Ele muda para um esquema de backup baseado em tempdb se o tamanho dos dados LOB crescer além de 512 KB (524.288 bytes).
O esquema de backup armazena dados LOB em uma árvore de páginas LOB tempdb internas.
Essas páginas tempdb são armazenadas em cache no pool de buffers como de costume, mas podem ser liberadas para o disco pelo gravador lento conforme necessário.
Há sobrecargas extras no uso do esquema com suporte de tempdb , mesmo que todas as páginas permaneçam na memória.
Quando a variável sai do escopo, as páginas são desalocadas de forma síncrona. Isso pode levar tempo para LOBs muito grandes.
O limite é em bytes, portanto, o número de caracteres armazenados depende da codificação.