Particionamento de Tabela

De Base de Conhecimentos da DataPlus Sistemas
Revisão de 08h20min de 31 de maio de 2023 por Vinicius (discussão | contribs)
Ir para navegação Ir para pesquisar

Nota: Este recurso é exclusivo da versão Enterprise do SQL Server

O particionamento de tabelas no SQL Server é uma técnica usada para dividir fisicamente uma tabela grande em partes menores chamadas partições. Cada partição contém um subconjunto dos dados da tabela original e é armazenada em um grupo de arquivos separado.

Existem várias formas de particionamento disponíveis no SQL Server, incluindo particionamento por hash, particionamento por intervalo (range) e particionamento por lista. Cada uma delas tem suas próprias características e usos específicos.

   Particionamento por Hash:
       Nesse tipo de particionamento, o SQL Server usa uma função de hash para distribuir linhas de dados em partições.
       A função de hash é aplicada a uma coluna ou conjunto de colunas da tabela para determinar em qual partição cada linha será armazenada.
       O particionamento por hash é útil quando se deseja distribuir uniformemente as linhas de dados entre as partições.
   Particionamento por Intervalo (Range):
       Nesse tipo de particionamento, as linhas de dados são divididas com base em um intervalo de valores em uma coluna específica.
       É possível definir intervalos que correspondem a faixas de valores específicos, como datas, números ou outros critérios.
       O particionamento por intervalo é adequado para situações em que os dados são agrupados de forma contígua ou quando se deseja segmentar os dados com base em critérios específicos.
   Particionamento por Lista:
       Nesse tipo de particionamento, as linhas de dados são agrupadas em partições com base em valores de uma coluna específica.
       É possível definir uma lista de valores correspondentes a cada partição.
       O particionamento por lista é adequado quando se deseja agrupar os dados com base em valores específicos, como categorias ou regiões geográficas.

A criação e configuração do particionamento de tabela no SQL Server envolvem os seguintes passos básicos:

   Criação de uma função de particionamento: Para particionamento por hash, você precisa criar uma função de hash. Para particionamento por intervalo ou lista, você precisa definir os intervalos ou listas.
   Criação de um esquema de partição: Você precisa criar um esquema de partição que define as partições da tabela e associa a função de particionamento a ela.
   Criação da tabela particionada: Ao criar a tabela, você precisa especificar o esquema de partição e a coluna de particionamento.
   Gerenciamento de partições: O SQL Server oferece várias opções para gerenciar as partições, como adicionar, remover ou mesclar partições.

Quando uma consulta é executada em uma tabela particionada, o SQL Server otimiza automaticamente a consulta para acessar apenas as partições relevantes, com base nas condições de filtro. Isso melhora o desempenho das consultas e reduz a carga de processamento, já que apenas as partições necessárias são processadas. O particionamento também pode facilitar a manutenção de grandes conjuntos de dados, como arquivamento e exclusão de dados antigos.

É importante ressaltar que o particionamento de tabelas no SQL Server requer planejamento adequado e consideração das necessidades e padrões de acesso

Documentação Oficial: https://learn.microsoft.com/pt-br/sql/relational-databases/partitions/partitioned-tables-and-indexes?view=sql-server-ver16