Questões de Índices (Banco de Dados)

Limpar Busca

Uma consulta SQL que realiza múltiplos JOINs e filtros sobre tabelas grandes está apresentando lentidão.
As opções a seguir apresentam estratégias recomendadas para otimização, à exceção de uma. Assinale-a.

  • A Normalizar ainda mais as tabelas envolvidas.
  • B Utilizar EXPLAIN para verificar o plano de execução.
  • C Avaliar estatísticas e atualizá-las com ANALYZE.
  • D Criação de índices nos campos usados em JOIN e WHERE.
  • E Reescrever a consulta evitando subconsultas desnecessárias.

No SQL Server, uma das práticas recomendadas para otimizar o desempenho de consultas complexas, é o uso de índices compostos. Considere a seguinte situação:
Uma tabela de vendas (Vendas) contém as colunas data_venda, id_cliente, valor_total. Deseja-se otimizar a consulta que filtra registros por id_cliente e ordena por data_venda.
Assinale a opção que indica a configuração de índice mais adequada.

  • A Índice apenas em valor_total.
  • B Índice apenas em data_venda.
  • C Índice composto em (data_venda, id_cliente).
  • D Índice composto em (id_cliente, data_venda).
  • E Índice filtrado em valor_total com condição valor_total > 1000.

O sistema gerenciador de banco de dados MS SQL Server 2019 utiliza alguns tipos de indexação, sendo, especificamente, um desses tipos:

  • A segment
  • B recovery
  • C join
  • D virtual
  • E árvores B

Com base nos conceitos relacionados aos índices em bancos de dados relacionais, assinale a opção correta.

  • A A presença de índices acelera qualquer operação no banco de dados, inclusive inserções e atualizações, sem causar impactos negativos de desempenho.
  • B Índices compostos permitem a indexação de mais de uma coluna, sendo particularmente úteis quando as consultas filtram dados por múltiplos campos, mas a ordem das colunas no índice influencia seu uso pelo otimizador de consultas.
  • C Por sua baixa necessidade de manutenção, os índices bitmap são indicados para sistemas transacionais (OLTP) com alta taxa de atualizações e inserções.
  • D Em um banco de dados relacional, podem ser criados até quatro índices clusterizados em uma mesma tabela, desde que esta possua menos que 128 TB de tamanho.
  • E Um índice não clusterizado mantém uma cópia ordenada dos dados da tabela junto aos dados originais, duplicando o armazenamento e permitindo acesso direto sem pesquisa adicional.

Em um sistema de e-commerce, foi criado um índice do tipo hash sobre a coluna preço da tabela produtos. Esse índice está sendo utilizado em consultas com filtros como:



SELECT * FROM produtos WHERE preco BETWEEN 100 AND 300;



I. Índices hash são ineficientes para consultas com operadores de intervalo, como BETWEEN, porque sua estrutura não mantém ordenação dos valores indexados.


II. A atualização de índices hash ocorre na reconstrução completa do índice sempre que um novo registro é inserido na tabela produtos em sistemas de banco de dados como PostgreSQL e MySQL.


III. A limitação dos índices hash em consultas de intervalo reside em sua restrição a campos numéricos, o que os tornam inutilizáveis para campos textuais ou data.



É correto o que se afirma em:

  • A I, apenas.
  • B I e II, apenas.
  • C II e III, apenas.
  • D III, apenas.
  • E I, II e III.