Questão de Banco de Dados — SQL — FUNDATEC 2023
- Código
- qq890110
- Banca
- FUNDATEC
- Órgão
- BRDE
- Ano
- 2023
- Nível
- Superior
- Cargo
- Analista de Sistemas - Administração de Banco de Dados
- AApenas I.
- BApenas II.
- CApenas III.
- DApenas II e III.
- EI, II e III.
GabaritoA — Apenas I.
Gabarito: letra A. A assertiva I está correta: o comando com cláusula WHERE cria um índice filtrado. A assertiva II está incorreta porque índices filtrados são mais eficientes quando a condição seleciona um pequeno número de tuplas, não um grande número. A assertiva III está incorreta: o índice é NONCLUSTERED (B-tree), não columnstore.
A banca testa o conceito de índices filtrados e a diferença entre índices B-tree e columnstore.
Assertiva | Análise | Correta? |
|---|---|---|
I. Cria índice filtrado | O comando possui cláusula | ✅ Sim |
II. Melhora desempenho quando condição atinge grande número de tuplas | Índice filtrado é mais eficiente quando a condição é seletiva (poucas tuplas). O enunciado inverte o conceito. | ❌ Não |
III. Formato de armazenamento primário é columnstore | Índice | ❌ Não |
O comando CREATE NONCLUSTERED INDEX ... WHERE DataFinal IS NOT NULL cria um índice filtrado. No SQL Server, um índice com uma cláusula WHERE é chamado de índice filtrado (filtered index). Ele armazena apenas as linhas que atendem à condição, otimizando consultas que usam esse filtro.
Um índice filtrado é mais útil quando a condição do filtro é seletiva, ou seja, quando um pequeno número de tuplas satisfaz a condição. Se a condição DataFinal IS NOT NULL for verdadeira para um grande número de tuplas (pouco seletiva), o índice será grande e seu benefício será reduzido, podendo até piorar o desempenho. A assertiva inverte o conceito.
O comando cria um índice NONCLUSTERED, cujo formato de armazenamento primário é uma árvore B+ (B-tree), não columnstore. Índices columnstore são criados com a palavra-chave COLUMNSTORE (ex.: CREATE NONCLUSTERED COLUMNSTORE INDEX ...). São estruturas otimizadas para data warehousing, não para este caso.
A banca troca o sentido da seletividade na assertiva II: o candidato pode pensar que um índice filtrado ajuda quando a condição abrange muitas linhas, mas o correto é que ele é mais eficiente quando atinge poucas linhas (filtro seletivo).
Gabarito: letra A — apenas a assertiva I está correta.
Link permanente: /questoes/qq890110