Pular para o conteúdo principal

Questão de Banco de Dados — Oracle — FCC 2016

Banco de DadosOracle
Código
fc028436
Banca
FCC
Órgão
CREMESP
Ano
2016
Nível
Superior
Cargo
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
  1. A/*+ GET_FIRST_ROWS(10) + */
  2. BHINT_FIRST_ROWS(10)
  3. CFIRST_ROWS(10)
  4. D/*+ FIRST_ROWS(10) */
  5. 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.

Gabarito: letra D

Link permanente: /questoes/fc028436