Ao definir a statistics io
opção ON, vejo este resultado
as leituras físicas são 0 e as leituras antecipadas são 276, o que significa que 276 páginas dessa tabela que estão na unidade de disco estavam no cache de dados, mas o número total de leituras do cache de dados é 794, conforme indicado nas leituras lógicas. Então, o que é mantido no cache de dados além das páginas da tabela da unidade de disco?
Obrigado.
Há algumas coisas aqui, então deixe-me explicar
Leituras lógicas : uma leitura lógica ocorre sempre que o Mecanismo de Banco de Dados solicita uma página do cache de buffer. Se a página não estiver atualmente no cache de buffer, uma leitura física primeiro copia a página do disco para o cache.
Leia adiante : Eu sugiro que você leia páginas de leitura no SQL Server
Agora a sua pergunta
Não, isso não significa que apenas as 276 páginas podem ser muito mais do que 276, na verdade é sempre mais do que isso. Leia adiante leia *mais páginas do que o necessário *e traga essas páginas para a memória, isso é feito para otimizar o desempenho para garantir que todas as páginas estejam no cache e que a E/S física possa ser evitada. Uma única leitura pode trazer até 64 páginas e isso seria visto como uma leitura. Do documento BOL antigo As solicitações de leitura antecipada geralmente têm 128 páginas para cada grupo, mas podem chegar a 1.024 páginas ao executar o Microsoft SQL Server Enterprise Edition.
A partir deste artigo antigo da Technet , para a edição corporativa, a leitura antecipada pode ter até 1.024 KB.
As leituras lógicas são contadas para páginas únicas, enquanto as leituras antecipadas são contadas como uma para pedaços de páginas.