Questão FC369702
Marina gerencia um banco de dados que contém duas tabelas relacionais, Cliente e Movimentação, sendo que a segunda tem uma chave estrangeira que a conecta à primeira tabela. Há uma
Otimização (Tuning) em Banco de Dados
FGV · 2024
Marina gerencia um banco de dados que contém duas tabelas relacionais, Cliente e Movimentação, sendo que a segunda tem uma chave estrangeira que a conecta à primeira tabela. Há uma transação, frequentemente acionada pelo sistema que emprega essas tabelas, que opera localizando um determinado registro em Cliente e, em seguida, percorrendo numa ordem temporal todos os registros de movimentação desse cliente na tabela Movimentação.
Dado que Marina trabalha numa base Oracle com tabelas com milhões de registros, e que a performance dessa transação é preponderante, o tipo (organization) mais adequado para a tabela Movimentação, dentre as opções apresentadas, é:
- External;
- File;
- Heap;
- Index-organized;
- Partition.
Mostrar resposta e comentário
Gabarito
D
Comentário do professor
A alternativa correta é a Index-Organized Table (IOT). Em Oracle, uma IOT armazena os dados no próprio índice B-tree, ordenados pela chave primária, eliminando a necessidade de um heap separado.
Para a transação descrita — localizar um cliente e percorrer suas movimentações em ordem temporal — recomenda-se definir a chave como composta (por exemplo, ID_Cliente + Data_Movimentação), garantindo que os registros fiquem fisicamente ordenados por cliente e tempo.
O benefício prático é a redução significativa de leituras de disco e de operadores de I/O: consultas por faixa (range scans) que varrem as movimentações de um cliente são atendidas diretamente no índice, tornando o acesso sequencial muito mais rápido em bases com milhões de linhas.
Conteúdo do catálogo FC Concursos · Atualizado em