Analista de Tecnologia da Informação - Banco de Dados
O gerenciador de banco de dados Oracle possui uma série de hints para otimizar uma instrução e assim obter o melhor tempo de resposta. Utilizando um desses hints, um Administrador de Banco de Dados (DBA) digitou a instrução abaixo, para obter os primeiros 10 funcionários do departamento 20 e exibi-los o mais rápido possível.SELECT I IdFuncionario, Nome, Salario, Cargo FROM Funcionario WHERE IdDepartamento = 20;Para obter o resultado esperado pelo DBA, a lacuna I deve ser preenchida com
A/*+ GET_FIRST_ROWS(10) + */
BHINT_FIRST_ROWS(10)
CFIRST_ROWS(10)
D/*+ FIRST_ROWS(10) */
E“+ FIRST_ROWS(10) +”
Revelar gabarito e comentário▾
GabaritoD — /*+ FIRST_ROWS(10) */
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Oracle hints: FIRST_ROWS
Gabarito: letra D. A sintaxe correta de um hint no Oracle é /*+ FIRST_ROWS(10) */, pois os hints são instruções ao otimizador escritas como comentários especiais. O hint FIRST_ROWS(n) orienta o banco a priorizar a entrega rápida das primeiras n linhas, exatamente o que o DBA deseja.
Alternativa A — ❌ Incorreta
/*+ GET_FIRST_ROWS(10) + */ Não existe um hint chamado GET_FIRST_ROWS no Oracle. O nome correto é FIRST_ROWS. Além disso, o fechamento + */ está incorreto — o comentário de hint termina com */.
Alternativa B — ❌ Incorreta
HINT_FIRST_ROWS(10) Não há prefixo HINT_ na sintaxe. Hints são escritos dentro de comentários /*+ ... */, nunca como palavras soltas.
Alternativa C — ❌ Incorreta
FIRST_ROWS(10) Sem os delimitadores /*+ e */, o Oracle não reconhece a instrução como hint; ela seria tratada como parte do texto SQL e provavelmente geraria erro de sintaxe.
Alternativa D — ✅ Correta ⟵ GABARITO
/*+ FIRST_ROWS(10) */ Segue exatamente a sintaxe: abre comentário /*+, o nome do hint FIRST_ROWS, o parâmetro (10), e fecha */. Esse hint é o indicado para otimizar a consulta com foco em obter as primeiras 10 linhas rapidamente.
Alternativa E — ❌ Incorreta
"+ FIRST_ROWS(10) +" Aspas duplas não criam hints. Apenas comentários no formato /*+ ... */ são válidos como hints.
NÃO CAIA NESSA!
Hints no Oracle sempre começam com /*+ e terminam com */. Lembre-se: é um “comentário de hint”. Decore os principais: FIRST_ROWS(n), ALL_ROWS, INDEX(table index). Em provas, a banca adora trocar a sintaxe — nunca aceite nada fora desse formato.