Carregando o concurso…
Uma equipe de engenharia de dados está projetando um índice para uma tabela de pedidos em um banco de dados relacional que utiliza uma árvore B+ para indexação. A tabela possui as colunas: id_pedido (chave primária), id_cliente (chave estrangeira), data_pedido (data), valor_total (numérico) e status (texto). As consultas mais frequentes são:
SELECT * FROM pedidos WHERE id_cliente = 123 AND data_pedido BETWEEN '2024-01-01' AND '2024-03-31';SELECT * FROM pedidos WHERE status = 'PENDENTE' ORDER BY data_pedido DESC;SELECT SUM(valor_total) FROM pedidos WHERE data_pedido >= '2024-01-01' GROUP BY id_cliente;Considerando as características dos índices em árvore B+ e as boas práticas de projeto de índices, analise as afirmativas a seguir:
(id_cliente, data_pedido) é adequado para otimizar Q1, pois permite que a busca seja feita por igualdade em id_cliente e, dentro de cada cliente, por intervalo em data_pedido, evitando a ordenação adicional dos resultados.status seguido de data_pedido é mais eficiente do que um índice apenas em data_pedido, pois permite localizar rapidamente as linhas com status 'PENDENTE' e já mantê-las ordenadas por data, eliminando a necessidade de ordenação explícita.data_pedido que inclua id_cliente e valor_total como colunas incluídas (covering index) pode permitir que a consulta seja respondida apenas com acesso ao índice, sem leitura da tabela, desde que o otimizador reconheça a cobertura.valor_total é sempre benéfico para Q3, pois permite calcular a soma diretamente pelas entradas do índice, reduzindo o custo de I/O.Estão corretas apenas as afirmativas:
Selecione uma alternativa pra criar sua conta e salvar o progresso.