Neste artigo veremos o que é uma página de dados e como é o armazenamento de dados em uma página de dados e alguns detalhes das páginas de dados.
Uma página de dados é o local onde são armazenados os seus dados, ou seja, quando eu crio uma tabela e insiro registros nessa tabela esses registros são alocados em páginas de dados no SQL Server.
Alguns detalhes importantes sobre as páginas de dados:
- Tamanho Maximo 8 Kb
- Toda página de dados vem com um cabeçalho com dados da página de 96 Bytes
- A quantidade de registro por página de dados varia conforme os tipos de dados utilizados
- Quanto maior o numero dados em uma página, mas rápido é o retorno dos dados devido ao SQL Server ter que ler um número menor de páginas.
Slot Array (Deslocamento de linhas) – São “ponteiros” que sinalizam onde se encontram seus dados dentro da página, cada registro possui um slot array e cada slot array tem um tamanho fixo de 2 bytes.
Então como ficaria minha página de dados?
E como podemos ver tudo isso através do SQL Server?
CREATE TABLE GUIA_DBA (ID INT IDENTITY(1,1), NOME VARCHAR(50)) GO INSERT INTO GUIA_DBA VALUES ('THIAGO CRUZ') INSERT INTO GUIA_DBA VALUES ('ALEXANDRE CURVELO') SELECT * FROM SYS.SYSINDEXES WHERE ID = OBJECT_ID('GUIA_DBA')
Através do select acima chegamos à coluna first que indica em hexadecimal o numero da minha página de dados 0x490000000100 se convertermos o 49 para decimal encontramos o valor 73 que indica o valor utilizado no DBCC PAGE
DBCC TRACEON(3604) DBCC PAGE (24,1,73,3)
- 24 é o id do banco de dados
- 1 é o arquivo
- 73 é a página de dados
- 3 é o modo de visualização
Vejamos abaixo como é a visualização de uma página de dados no SQL Server e a partir daí vamos poder confirmar tudo o que foi dito a cima.
Inicio do Header:
Dividi em duas partes a página de dados, sendo eles em Header (cabeçalho) e dados, acima segue o header padrão SQL Server com algumas informações da nossa página de dados.
Obs.: Toda página de dados contém um header.
Inicio dos dados:
Na imagem acima você pode acompanhar a alocação dos dados na página de dados e os slot array como comentamos no inicio do artigo.
Gostou deste artigo? Então você vai gostar do treinamento Guia DBA que vai tornar você um especialista em otimização, clique aqui e adquira o “Curso SQL Server 2014” e receba também “O passo a passo para otimização”.