Estou curioso para saber como o buffer pool do SQL Server é afetado por tabelas de dados compactadas.
Os dados na memória estão compactados, assim como no disco, ou estão totalmente descompactados?
Se os dados forem armazenados compactados no pool de buffers, quanto dos dados descompactados transitórios é mantido na memória em um determinado momento ao executar uma instrução; uma linha/página, a tabela inteira (supondo que haja páginas livres suficientes para armazenar os dados) ou "depende"?
Quando os dados estão no buffer pool, eles são compactados. Os dados dentro da linha/coluna precisam ser descompactados quando a linha/coluna é lida. A equipe do mecanismo de armazenamento (os caras que escreveram essas coisas) fez uma postagem no blog sobre isso, que contém algumas informações boas. (Sim, eu roubei a linha acima da postagem do blog.)