← Questões de Banco de Dados

Banco de Dados · FGV · 2022

Questão comentada de Banco de Dados

O SGBD Oracle permite utilizar um mecanismo chamado hint, cuja finalidade é interferir na decisão automática do otimizador de consultas, instruindo-o a tomar decisões específicas, e forçando a mudança do plano de execução padrão. O database link é um objeto de esquema de banco de dados que permite acessar remotamente objetos em um outro banco de dados. Considere dois bancos de dados A e B. No banco de dados A, identificou-se uma consulta que possui na cláusula FROM duas tabelas, uma local e uma remota, que é acessada através de um database link para o banco de dados B. Ao analisar as tabelas envolvidas nesse join verificou-se que a tabela remota é maior que a tabela local. Visando a melhorar a performance da consulta e minimizar o trafego de dados na rede o hint que deve ser utilizado é:

Gabarito: B

No Oracle, os hints são “dicas fortes” dadas ao otimizador para influenciar o plano de execução. Eles não mudam os dados, mas mudam a estratégia que o banco tende a usar, especialmente em consultas com join, índices e acesso a objetos remotos. Aqui o ponto central é que existe uma tabela local e outra remota via database link, e a remota é maior. Quando o objetivo é reduzir tráfego de rede, você quer evitar ficar trazendo um volume grande de dados da máquina remota para depois processar tudo localmente. O hint adequado é o DRIVING_SITE, que força a execução do join no site de onde faz mais sentido iniciar o processamento, normalmente no lado da tabela remota quando isso ajuda a “empurrar” o trabalho para lá e diminuir a circulação de linhas pela rede. Por isso o gabarito B está correto: ele orienta o Oracle a fazer o processamento no site da tabela remota, minimizando o tráfego entre os bancos. Em provas, a FGV gosta de testar exatamente essa lógica prática: menos rede, melhor desempenho.

Continue treinando

Questões relacionadas