Os índices são estruturas de dados no banco de dados relacio...
I. Quando a densidade da página for baixa, mais páginas serão necessárias para armazenar uma mesma quantidade de dados. Isso significa que mais operações de E/S serão necessárias para ler e gravar esses dados, assim como mais espaço em memória será necessária para armazenar esses dados em cache. Quando a memória é limitada, menos páginas exigidas por uma consulta serão armazenadas em cache, causando ainda mais operações de E/S em disco. Consequentemente, a densidade de página baixa afeta negativamente o desempenho.
II. O mecanismo de banco de dados modifica os índices automaticamente sempre que são executadas operações de inserção, atualização ou exclusão nos dados subjacentes. Por exemplo, a adição de linhas em uma tabela pode fazer com que as páginas existentes nos índices de columnstore se dividam, liberando espaço para a inserção de novas linhas. Com o decorrer do tempo, essas modificações podem fazer com que os dados do índice sejam fragmentados e dispersados pelo banco de dados.
III. Quando o otimizador de consulta do SQL Server compila um plano de consulta, ele considera o custo das operações de E/S necessárias para ler os dados exigidos pela consulta. Quando a densidade de página baixa, há mais páginas a serem lidas, portanto, o custo das operações de E/S será maior. Isso pode afetar a escolha do plano de consulta. Por exemplo, à medida que a densidade de página diminui ao longo do tempo devido a divisões de página, o otimizador pode compilar um plano diferente para a mesma consulta, com um perfil de consumo de recursos e desempenho diferente.
IV. Para as consultas SQL que leem muitas páginas usando varreduras de índices completas ou de intervalo, índices pouco fragmentados podem prejudicar o desempenho da consulta quando operações de E/S adicionais são necessárias para ler os dados. Em vez de algumas solicitações com poucas operações de E/S, a consulta exigiria muitas solicitações com poucas operações de E/S para ler a mesma quantidade de dados.
Está correto o que se afirma em
Comentários
Veja os comentários dos nossos alunos
I. Verdadeira: Se a densidade da página cai (as caixas estão meio vazias), o SQL Server precisa ler muito mais páginas (caixas) no disco para trazer a mesma quantidade de linhas (registros). Mais páginas lidas = Mais custo de I/O = Mais memória RAM gasta à toa no Buffer Pool para guardar "espaço vazio". Perfeito.
II. Falsa: Índices Columnstore (armazenamento colunar, usados para Big Data e DW) não sofrem divisões de página (Page Splits) da forma como foi descrito. Quem sofre Page Split é o índice tradicional em Árvore B+ (Rowstore). No Columnstore, dados novos vão para uma estrutura temporária chamada Delta Store e depois são comprimidos em Rowgroups. A banca misturou os conceitos arquiteturais.
III. Verdadeira: O Otimizador de Consultas do SQL Server é um matemático calculista. Se ele percebe que um índice está super fragmentado e com densidade baixa, ele pensa: "Ler esse índice bagunçado vai custar muito caro (muitas leituras de E/S). É mais barato ignorar o índice e fazer um Table Scan (varrer a tabela inteira) direto no disco". A fragmentação muda literalmente o plano de execução da consulta.
IV. Falsa: "...índices pouco fragmentados podem prejudicar o desempenho...". Índices pouco fragmentados são excelentes e não prejudicam nada. A banca inverteu a semântica para te pegar na leitura rápida.
Gabarito: D
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo