No SQL Server 2019, a “tabela Cliente” do banco de dados “E...

Próximas questões
Com base no mesmo assunto
Q2398033 Banco de Dados
No SQL Server 2019, a “tabela Cliente” do banco de dados “Exemplo” possui uma quantidade enorme de dados e como isso está gerando lentidão ao efetuar consulta por qualquer tipo de filtro, precisa efetuar um TUNE na “tabela Cliente”, porém, já foram criados novos index e mesmo assim a demora ainda persiste. Analisando a documentação da Microsoft, foi identificada a utilização de Partições (Partitions) e aplicação de um range separado por ano para garantir essa performance. Com isso, precisa-se executar algumas rotinas para separação dos arquivos e aplicar o conceito. Dentre essas rotinas pode-se citar:


I.   criar o scheme da partition.
II.  adicionar um novo arquivo para grupo do banco de dados e adicionar os arquivos ao File Group.
III. criar o range por ano yyyy do tipo Int.


É correto o que se afirma em
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a alternativa D.

Vamos entender melhor o motivo dessa escolha e revisitar cada uma das alternativas para esclarecer o assunto.

A questão refere-se à necessidade de otimizar o desempenho de consultas em uma tabela com uma grande quantidade de dados no SQL Server 2019. A sugestão apresentada é a utilização do conceito de particionamento para melhorar a performance.

Para utilizar efetivamente particionamento no SQL Server, precisamos seguir alguns passos importantes:

I. Criar o esquema de partição (partition scheme)

O esquema de partição define como os dados são distribuídos entre os diferentes grupos de arquivos (filegroups). Essa é uma etapa essencial no particionamento, pois garante que cada partição é armazenada adequadamente.

II. Adicionar um novo arquivo ao grupo do banco de dados e adicionar os arquivos ao File Group

Esse passo é crucial para garantir que há espaço suficiente para armazenar as partições. Quando criamos um sistema de partição, devemos assegurar que cada partição tem seu próprio espaço de armazenamento, o que é feito por meio da adição de arquivos e file groups.

III. Criar o range por ano yyyy do tipo Int

O range define os intervalos de valores que determinam as partições. No caso mencionado, criar um range por ano (yyyy) é uma prática comum para tabelas grandes onde os dados são particionados por ano. Utilizar um tipo de dados int para o ano é uma abordagem válida, já que facilita a comparação e a definição dos intervalos.

Dessa forma, cada uma das alternativas mencionadas na questão faz parte do processo de particionamento:

Alternativa A: Está incorreta porque menciona apenas a adição de novos arquivos ao grupo do banco de dados, mas isso sozinho não é suficiente para realizar o particionamento.

Alternativa B: Está incorreta porque omite a criação do range de partição, que é fundamental para definir como os dados serão distribuídos.

Alternativa C: Está incorreta porque omite a adição de novos arquivos ao grupo do banco de dados, o que é necessário para garantir armazenamento suficiente para as partições.

Alternativa D: Correta, pois inclui todas as etapas necessárias para realizar o particionamento da tabela de forma eficiente.

Em resumo, particionamento é uma técnica poderosa para melhorar a performance de consultas em tabelas grandes. Envolve a criação de esquemas de partição, definição de ranges e a alocação apropriada de espaço de armazenamento. Cada passo mencionado na questão é indispensável para garantir um particionamento bem-sucedido.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo