Partition Table (Criando a tabela) – Parte#7

Fala galera, este é o ultimo post sobre a parte estrutural do Partition Table, e é onde se cria a tabela utilizando os conceitos vistos nos posts anteriores.

Para conseguirmos comparar o desempenho de uma tabela com os dados em um unico Filegroup (tbVisitas) e a tabela com todo o Partition Table, criaremos uma segunda tabela (tbVisitas_2) exatamente com a mesma estrutura da tabela anterior e vamos popular com os mesmos dados inseridos anteriormente na tabela inicial.

Veja a criação da tabela, informando o Partition Scheme (veja a linha 5) em frente ao ON, que pode ser colocado ou não na criação da tabela. Caso não informe, o SQL Server cria a tabela com o filegroup padrão, que geralmente é o primary. Quando informamos um Partition Scheme na criação da tabela, os dados passam a utilizar o Partition Scheme para escrever no filegroup correto, que na sequência consulta o Partition Function para saber qual é o algoritmo de quebra dos dados…

 1: CREATE TABLE tbVisitas_V2
 2: (id INT IDENTITY(1,1)
 3: ,nome VARCHAR(50)
 4: ,data DATE)
 5: ON MuseuPorMesScheme(data)
 6: GO

E aqui é a inserção dos dados exatamente igual à tabela original:

 1: INSERT INTO TBVISITAS_V2(NOME,DATA)
 2: SELECT NOME,DATA FROM TBVISITAS
 3: GO

Pra fixar a idéia, lembre-se da imagem postada em Partition Table (Definições/Terminologias) – Parte#3:

Com isso, conseguimos separar em diversos Filegroups, que por sua vez estão em discos separados, garantindo alta-performance nas consultas realizadas nesta tabela.

Façam testes com essa série de posts em seus projetos e comprovem do desempenho. Convido vocês a postarem nos comentários, o comparativo que fizerem da performance de antes e depois do Partition Table! Quem será o primeiro?

Alegre

Sobre Diego Nogare 350 Artigos
Diego Nogare é Gerente Técnico de Engenharia de Machine Learning no Itaú-Unibanco. Também é professor em programas de pós graduação no Mackenzie e na FIAP, em São Paulo. Foi nomeado como Microsoft MVP por 11 anos seguidos, e hoje faz parte do programa Microsoft Regional Director.