Relatório de exemplo, gerado pelo WaitScope a partir de um trace sintético. Voltar para a página do WaitScope

WaitScope

teste-sintetico.trc

Analisado em 26/10/2026 18:51:43 · 1,8 KiB · 36 linhas · até 10 comandos por lista

Tempo total
0,007 s
7,0 ms
Período
02/01/2024 09:59:59
até 10:00:00
Chamadas ao banco
6
4 de nível 0
Esperas
4
0,005 s entre chamadas
Comandos distintos
2
1 commits · 0 rollbacks

Sessão e ambiente

Banco
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production · 19.3.0.0.0
Instância
teste1
Servidor
teste-node
Sessão
10.20 · pid 4242
Módulo
modulo (x)
Unidade de tempo
microssegundos
Arquivo no servidor
/tmp/teste_ora_1.trc

Diagnóstico

Padrões que costumam explicar o que o trace mostra, em ordem de severidade. São pistas para a análise, não conclusões.

média A sessão passou a maior parte do tempo esperando a aplicação 71,3% do tempo total

O banco ficou ocioso esperando o próximo pedido do cliente. Ajuste de SQL não reduz esse tempo: olhe a aplicação, a rede e a quantidade de idas e voltas (chamadas por unidade de trabalho). Ver no perfil

média Comando #1: a operação 1 do plano concentra 98,0% do tempo 24,6% do tempo total

Operação TABLE ACCESS BY INDEX ROWID T. Visita a tabela linha a linha a partir do índice: índice pouco seletivo ou sem as colunas que o filtro usa. Também pesam: operação 2, INDEX UNIQUE SCAN T_PK (20,0% das leituras lógicas). As operações estão destacadas no plano, no detalhe do comando. Ver no plano do comando #1

Perfil do tempo de resposta

Cada linha é uma parte do tempo total; somadas, dão 100%. Clique no nome de um componente ou de uma classe para ver o que ele mede e quando preocupa. Tempo não contabilizado dentro das chamadas costuma indicar fila de CPU ou código sem instrumentação; valor negativo vem da granularidade da medida de CPU.

ComponenteDuração (s)% do totalgráficoOcorrênciasMédia (s)Mín (s)Máx (s)
Idle 0,005000 71,3 1 0,005000 0,005000 0,005000
User I/O 0,001300 18,5 2 0,000650 0,000300 0,001000
não contabilizado 0,000286 4,1
cpu 0,000195 2,8 2 0,000097 0,000040 0,000155
não contabilizado 0,000161 2,3 6 0,000027
cpu 0,000050 0,7 1 0,000050 0,000050 0,000050
cpu 0,000015 0,2 2 0,000008 0,000005 0,000010
Network 0,000002 0,0 1 0,000002 0,000002 0,000002
cpu 0,000001 0,0 1 0,000001 0,000001 0,000001
Total0,007010100,0

Por classe de espera

Os mesmos componentes agrupados pela classe de espera do Oracle (wait_class), com CPU e tempo não contabilizado à parte. A soma também é o tempo total.

ClasseDuração (s)% do totalgráficoOcorrênciasPrincipais componentes
0,005000 71,3 1 SQL*Net message from client
0,001300 18,5 2 db file sequential read
0,000447 6,4 tempo não contabilizado entre chamadas · tempo não contabilizado dentro das chamadas
0,000261 3,7 6 CPU: FETCH dbcalls · CPU: PARSE dbcalls · CPU: EXEC dbcalls · CPU: CLOSE dbcalls
0,000002 0,0 1 SQL*Net message to client

Esperando a aplicação

SQL*Net message from client

A sessão terminou a chamada anterior e espera o próximo pedido da aplicação. É o tempo da aplicação, da rede e do usuário, não do banco.

Normal quando
Entre chamadas, sempre aparece. Esperas longas e isoladas são o usuário pensando ou a aplicação fazendo outra coisa.
Preocupa quando
Domina o tempo total com muitas esperas curtas: a aplicação conversa demais com o banco (uma linha por chamada, laço de SQL). Com poucas esperas longas, a demora está na aplicação.
Onde olhar
Número de esperas (idas e voltas), média por espera, chamadas FETCH com poucas linhas cada.

Leitura de um bloco

db file sequential read

Lê um único bloco do disco para o buffer cache: acesso por índice, pela tabela via ROWID, undo, cabeçalho de segmento.

Normal quando
Acesso por índice a poucos blocos. Média de 0,1 a 1 ms em SSD/flash e de 5 a 10 ms em disco.
Preocupa quando
Muitas leituras: o plano lê blocos demais (índice pouco seletivo, NESTED LOOPS com muitas linhas). Média alta: armazenamento lento ou disputado.
Onde olhar
Leituras por objeto, histograma das leituras e as operações em destaque no plano.

Tempo não contabilizado entre chamadas

tempo não contabilizado entre chamadas

Tempo entre o fim de uma chamada de nível 0 e o início da próxima sem nenhuma espera registrada. É a diferença entre o tempo total e a soma das chamadas e das esperas entre elas.

Normal quando
Pequeno, frações de milissegundo por chamada.
Preocupa quando
Alto: o trace foi ligado ou desligado no meio, o processo ficou fora da CPU (servidor saturado), a aplicação demorou sem a espera de cliente aparecer, ou falta arquivo da coleta.
Onde olhar
Lacunas grandes no tempo, período do trace e, em coleta, se todos os arquivos vieram.

CPU nas chamadas FETCH

CPU: FETCH dbcalls

Tempo de CPU gasto pela sessão na busca das linhas. Alto: leituras lógicas demais (LIO), em geral um plano que lê muito mais blocos do que as linhas devolvidas pedem.

Normal quando
Parte do trabalho do banco.
Preocupa quando
Domina o tempo total: veja as chamadas e os comandos que mais gastam CPU.
Onde olhar
Chamadas por tipo e LIO por execução.

Tempo não contabilizado dentro das chamadas

tempo não contabilizado dentro das chamadas

Parte da duração da chamada (e) que não é CPU (c) nem espera registrada dentro dela.

Normal quando
Pequeno. Valor negativo vem da granularidade da medida de CPU.
Preocupa quando
Alto: fila de CPU (mais processos prontos que núcleos), paginação de memória (swap) ou código sem instrumentação.
Onde olhar
Carga de CPU do servidor no horário e a memória livre.

CPU nas chamadas PARSE

CPU: PARSE dbcalls

Tempo de CPU gasto pela sessão na análise do SQL (parse). Alto: hard parse por SQL sem bind, ou parse repetido do mesmo cursor (abrir e fechar a cada execução).

Normal quando
Parte do trabalho do banco.
Preocupa quando
Domina o tempo total: veja as chamadas e os comandos que mais gastam CPU.
Onde olhar
Chamadas por tipo e LIO por execução.

CPU nas chamadas EXEC

CPU: EXEC dbcalls

Tempo de CPU gasto pela sessão na execução: DML, abertura do cursor e o corpo de blocos PL/SQL. Alto em PL/SQL: lógica pesada ou SQL dentro de laço.

Normal quando
Parte do trabalho do banco.
Preocupa quando
Domina o tempo total: veja as chamadas e os comandos que mais gastam CPU.
Onde olhar
Chamadas por tipo e LIO por execução.

Mandando a resposta

SQL*Net message to client

Tempo para entregar um pacote de resposta ao sistema operacional. Não mede a rede até o cliente, só a entrega ao SO.

Normal quando
Quase sempre microssegundos, uma vez por chamada.
Preocupa quando
Média alta: buffer de rede do servidor cheio ou rede saturada.
Onde olhar
Média por espera.

CPU nas chamadas CLOSE

CPU: CLOSE dbcalls

Tempo de CPU gasto pela sessão no fechamento do cursor. Quase sempre pequeno.

Normal quando
Parte do trabalho do banco.
Preocupa quando
Domina o tempo total: veja as chamadas e os comandos que mais gastam CPU.
Onde olhar
Chamadas por tipo e LIO por execução.

Idle (ociosa)

Idle

A sessão espera trabalho. Num trace de sessão, quase sempre é o SQL*Net message from client: tempo da aplicação, da rede e do usuário.

Normal quando
Entre chamadas.
Preocupa quando
Domina o tempo total e o usuário reclama da demora: a lentidão está fora do banco (aplicação, rede, idas e voltas demais).
Onde olhar
Número de chamadas e média por espera.

User I/O (leitura e escrita de dados)

User I/O

Leituras e gravações de dados feitas pela própria sessão.

Normal quando
Algum I/O sempre há.
Preocupa quando
Blocos demais (o plano lê mais do que precisa) ou tempo médio alto por leitura (armazenamento lento).
Onde olhar
Leituras por objeto, histograma das leituras, plano dos comandos que mais leem.

Não contabilizado

Não contabilizado

Tempo que o trace não explica por CPU nem por espera: dentro das chamadas e entre elas.

Normal quando
Pequeno.
Preocupa quando
Fila de CPU, paginação, lacunas no trace ou arquivo faltando na coleta.
Onde olhar
Os dois componentes de tempo não contabilizado.

CPU

CPU

Tempo de CPU das chamadas ao banco (o c= de PARSE, EXEC, FETCH).

Normal quando
É o trabalho do banco.
Preocupa quando
Alto: leituras lógicas demais (plano), parse em excesso ou PL/SQL pesado.
Onde olhar
LIO por execução e as chamadas que mais gastam CPU.

Network (rede)

Network

Mandar e receber dados pelo SQL*Net, com a aplicação ou com outro banco por dblink.

Normal quando
Pequeno.
Preocupa quando
Resultados grandes, arraysize baixo ou dblink lento.
Onde olhar
Eventos SQL*Net more data e os de dblink.

SQL recursivo (comandos filhos)

SQL recursivo (comandos filhos)

Tempo das chamadas que este comando disparou: SQL dentro de funções e procedures PL/SQL, triggers, consultas ao dicionário.

Normal quando
Comando PL/SQL que executa outros SQL.
Preocupa quando
Alto num SELECT ou DML simples: função PL/SQL chamada por linha, trigger pesado.
Onde olhar
A lista de SQL recursivo do comando.

Principais comandos por componente e por classe

Quanto cada comando gastou em cada componente do perfil e em cada classe de espera, pelo perfil exclusivo do comando (sem o SQL recursivo que ele dispara). Até 10 comandos por lista: mude no topo da página.

Por componente do perfil

SQL*Net message from client espera0,005 s · 71,3% do tempo total · 1 comando
#Tempo (s)% do totalgráficoSQL IDTexto
10,005000100,0aaaaaaaaaaaaaselect * from t where id=1
db file sequential read espera0,001 s · 18,5% do tempo total · 2 comandos
#Tempo (s)% do totalgráficoSQL IDTexto
10,00100076,9aaaaaaaaaaaaaselect * from t where id=1
20,00030023,1bbbbbbbbbbbbbselect obj# from obj$ where x=1
CPU: FETCH dbcalls cpu0,000 s · 2,8% do tempo total · 2 comandos
#Tempo (s)% do totalgráficoSQL IDTexto
10,00015579,5aaaaaaaaaaaaaselect * from t where id=1
20,00004020,5bbbbbbbbbbbbbselect obj# from obj$ where x=1
tempo não contabilizado dentro das chamadas não contabilizado0,000 s · 2,3% do tempo total · 2 comandos
#Tempo (s)% do totalgráficoSQL IDTexto
10,00011672,0aaaaaaaaaaaaaselect * from t where id=1
20,00004528,0bbbbbbbbbbbbbselect obj# from obj$ where x=1
CPU: PARSE dbcalls cpu0,000 s · 0,7% do tempo total · 1 comando
#Tempo (s)% do totalgráficoSQL IDTexto
10,000050100,0aaaaaaaaaaaaaselect * from t where id=1
CPU: EXEC dbcalls cpu0,000 s · 0,2% do tempo total · 2 comandos
#Tempo (s)% do totalgráficoSQL IDTexto
10,00001066,7aaaaaaaaaaaaaselect * from t where id=1
20,00000533,3bbbbbbbbbbbbbselect obj# from obj$ where x=1
SQL*Net message to client espera0,000 s · 0,0% do tempo total · 1 comando
#Tempo (s)% do totalgráficoSQL IDTexto
10,000002100,0aaaaaaaaaaaaaselect * from t where id=1
CPU: CLOSE dbcalls cpu0,000 s · 0,0% do tempo total · 1 comando
#Tempo (s)% do totalgráficoSQL IDTexto
10,000001100,0aaaaaaaaaaaaaselect * from t where id=1

Por classe de espera

Idle0,005 s · 71,3% do tempo total · 1 comando
#Tempo (s)% do totalgráficoSQL IDTexto
10,005000100,0aaaaaaaaaaaaaselect * from t where id=1
User I/O0,001 s · 18,5% do tempo total · 2 comandos
#Tempo (s)% do totalgráficoSQL IDTexto
10,00100076,9aaaaaaaaaaaaaselect * from t where id=1
20,00030023,1bbbbbbbbbbbbbselect obj# from obj$ where x=1
Não contabilizado0,000 s · 6,4% do tempo total · 2 comandos
#Tempo (s)% do totalgráficoSQL IDTexto
10,00011626,0aaaaaaaaaaaaaselect * from t where id=1
20,00004510,1bbbbbbbbbbbbbselect obj# from obj$ where x=1
CPU0,000 s · 3,7% do tempo total · 2 comandos
#Tempo (s)% do totalgráficoSQL IDTexto
10,00021682,8aaaaaaaaaaaaaselect * from t where id=1
20,00004517,2bbbbbbbbbbbbbselect obj# from obj$ where x=1
Network0,000 s · 0,0% do tempo total · 1 comando
#Tempo (s)% do totalgráficoSQL IDTexto
10,000002100,0aaaaaaaaaaaaaselect * from t where id=1

Comandos SQL por contribuição

Contribuição: duração das chamadas de nível 0 do comando somada às esperas entre chamadas no cursor dele. Inclusivo: soma de todas as chamadas do comando, em qualquer profundidade.

#Contribuição (s)% do totalInclusivo (s)TipoProf.ExecFetchLinhasLIOPIOSQL IDTexto
1 0,007 95,9 0,002 SELECT 0 1 1 1 10 1 aaaaaaaaaaaaa select * from t where id=1
2 0,000 0,0 0,000 SELECT 1 1 1 1 3 1 bbbbbbbbbbbbb select obj# from obj$ where x=1

Tempo não atribuído a nenhum comando: 0,000 s.

Tipos de chamada

ChamadaQuantidadeCPU (s)Duração (s)Disco (PIO)Consistente (CR)Corrente (CU)LinhasMisses
FETCH20,0000,002213020
PARSE10,0000,00000001
EXEC20,0000,00000000
CLOSE10,0000,00000000

Chamadas de nível 0 mais longas

ChamadaDuração (s)CPU (s)Início (+s)LinhaLIOPIOLinhasComando
FETCH 0,001600 0,000200 0,000 31 10 1 1 #1 select * from t where id=1
PARSE 0,000100 0,000050 0,000 17 0 0 0 #1 select * from t where id=1
EXEC 0,000020 0,000010 0,000 18 0 0 0 #1 select * from t where id=1
CLOSE 0,000002 0,000001 0,007 35 0 0 0 #1 select * from t where id=1

Distribuição de latência

Faixas em potências de 10, por evento de espera e por tipo de chamada. Mostra se o tempo vem de muitas ocorrências rápidas ou de poucas lentas.

SQL*Net message from client1 ocorrências · 0,005 s
Faixa da duraçãoOcorrências% ocorr.Duração (s)% duração
0 ≤ e < 1 µs00,00,0000000,0
1 µs ≤ e < 10 µs00,00,0000000,0
10 µs ≤ e < 100 µs00,00,0000000,0
100 µs ≤ e < 1 ms00,00,0000000,0
1 ms ≤ e < 10 ms1100,00,005000100,0
10 ms ≤ e < 100 ms00,00,0000000,0
100 ms ≤ e < 1 s00,00,0000000,0
1 s ≤ e < 10 s00,00,0000000,0
10 s ≤ e < 100 s00,00,0000000,0
100 s ≤ e < 1.000 s00,00,0000000,0
1.000 s ≤ e < ∞00,00,0000000,0
db file sequential read2 ocorrências · 0,001 s
Faixa da duraçãoOcorrências% ocorr.Duração (s)% duração
0 ≤ e < 1 µs00,00,0000000,0
1 µs ≤ e < 10 µs00,00,0000000,0
10 µs ≤ e < 100 µs00,00,0000000,0
100 µs ≤ e < 1 ms150,00,00030023,1
1 ms ≤ e < 10 ms150,00,00100076,9
10 ms ≤ e < 100 ms00,00,0000000,0
100 ms ≤ e < 1 s00,00,0000000,0
1 s ≤ e < 10 s00,00,0000000,0
10 s ≤ e < 100 s00,00,0000000,0
100 s ≤ e < 1.000 s00,00,0000000,0
1.000 s ≤ e < ∞00,00,0000000,0
SQL*Net message to client1 ocorrências · 0,000 s
Faixa da duraçãoOcorrências% ocorr.Duração (s)% duração
0 ≤ e < 1 µs00,00,0000000,0
1 µs ≤ e < 10 µs1100,00,000002100,0
10 µs ≤ e < 100 µs00,00,0000000,0
100 µs ≤ e < 1 ms00,00,0000000,0
1 ms ≤ e < 10 ms00,00,0000000,0
10 ms ≤ e < 100 ms00,00,0000000,0
100 ms ≤ e < 1 s00,00,0000000,0
1 s ≤ e < 10 s00,00,0000000,0
10 s ≤ e < 100 s00,00,0000000,0
100 s ≤ e < 1.000 s00,00,0000000,0
1.000 s ≤ e < ∞00,00,0000000,0
FETCH (duração e da chamada)2 ocorrências · 0,002 s
Faixa da duraçãoOcorrências% ocorr.Duração (s)% duração
0 ≤ e < 1 µs00,00,0000000,0
1 µs ≤ e < 10 µs00,00,0000000,0
10 µs ≤ e < 100 µs00,00,0000000,0
100 µs ≤ e < 1 ms150,00,00038019,2
1 ms ≤ e < 10 ms150,00,00160080,8
10 ms ≤ e < 100 ms00,00,0000000,0
100 ms ≤ e < 1 s00,00,0000000,0
1 s ≤ e < 10 s00,00,0000000,0
10 s ≤ e < 100 s00,00,0000000,0
100 s ≤ e < 1.000 s00,00,0000000,0
1.000 s ≤ e < ∞00,00,0000000,0
PARSE (duração e da chamada)1 ocorrências · 0,000 s
Faixa da duraçãoOcorrências% ocorr.Duração (s)% duração
0 ≤ e < 1 µs00,00,0000000,0
1 µs ≤ e < 10 µs00,00,0000000,0
10 µs ≤ e < 100 µs00,00,0000000,0
100 µs ≤ e < 1 ms1100,00,000100100,0
1 ms ≤ e < 10 ms00,00,0000000,0
10 ms ≤ e < 100 ms00,00,0000000,0
100 ms ≤ e < 1 s00,00,0000000,0
1 s ≤ e < 10 s00,00,0000000,0
10 s ≤ e < 100 s00,00,0000000,0
100 s ≤ e < 1.000 s00,00,0000000,0
1.000 s ≤ e < ∞00,00,0000000,0
EXEC (duração e da chamada)2 ocorrências · 0,000 s
Faixa da duraçãoOcorrências% ocorr.Duração (s)% duração
0 ≤ e < 1 µs00,00,0000000,0
1 µs ≤ e < 10 µs00,00,0000000,0
10 µs ≤ e < 100 µs2100,00,000030100,0
100 µs ≤ e < 1 ms00,00,0000000,0
1 ms ≤ e < 10 ms00,00,0000000,0
10 ms ≤ e < 100 ms00,00,0000000,0
100 ms ≤ e < 1 s00,00,0000000,0
1 s ≤ e < 10 s00,00,0000000,0
10 s ≤ e < 100 s00,00,0000000,0
100 s ≤ e < 1.000 s00,00,0000000,0
1.000 s ≤ e < ∞00,00,0000000,0
CLOSE (duração e da chamada)1 ocorrências · 0,000 s
Faixa da duraçãoOcorrências% ocorr.Duração (s)% duração
0 ≤ e < 1 µs00,00,0000000,0
1 µs ≤ e < 10 µs1100,00,000002100,0
10 µs ≤ e < 100 µs00,00,0000000,0
100 µs ≤ e < 1 ms00,00,0000000,0
1 ms ≤ e < 10 ms00,00,0000000,0
10 ms ≤ e < 100 ms00,00,0000000,0
100 ms ≤ e < 1 s00,00,0000000,0
1 s ≤ e < 10 s00,00,0000000,0
10 s ≤ e < 100 s00,00,0000000,0
100 s ≤ e < 1.000 s00,00,0000000,0
1.000 s ≤ e < ∞00,00,0000000,0

Leituras

leituras (faixas de disco)2 ocorrências · 0,001 s
Faixa da duraçãoOcorrências% ocorr.Duração (s)% duração
0 ≤ e < 5 ms2100,00,001300100,0
5 ms ≤ e < 10 ms00,00,0000000,0
10 ms ≤ e < 15 ms00,00,0000000,0
15 ms ≤ e < 20 ms00,00,0000000,0
20 ms ≤ e < 25 ms00,00,0000000,0
25 ms ≤ e < 50 ms00,00,0000000,0
50 ms ≤ e < 100 ms00,00,0000000,0
100 ms ≤ e < 1 s00,00,0000000,0
1 s ≤ e < ∞00,00,0000000,0
leituras (faixas de SSD)2 ocorrências · 0,001 s
Faixa da duraçãoOcorrências% ocorr.Duração (s)% duração
0 ≤ e < 15 µs00,00,0000000,0
15 µs ≤ e < 25 µs00,00,0000000,0
25 µs ≤ e < 50 µs00,00,0000000,0
50 µs ≤ e < 100 µs00,00,0000000,0
100 µs ≤ e < 500 µs150,00,00030023,1
500 µs ≤ e < 1 ms00,00,0000000,0
1 ms ≤ e < 10 ms150,00,00100076,9
10 ms ≤ e < ∞00,00,0000000,0

Primeira leitura e releitura do mesmo bloco

Releitura frequente do mesmo bloco indica cache pequeno ou acesso repetido ao mesmo dado.

EventoBlocos distintos1ª leitura1ª leitura (s)ReleiturasReleituras (s)
db file sequential read110,00010,001

Objetos com mais tempo de espera

Pelo obj# das esperas. O nome vem das linhas STAT do próprio trace, quando existem.

obj#NomeEspera (s)OcorrênciasEventos principais
50T0,0012db file sequential read

Detalhe dos comandos

#1 · SELECT

sql_id aaaaaaaaaaaaahv 111
Peso no tempo total
0,007 s
95,9% do tempo total
Inclusivo
0,002 s
todas as chamadas do comando
Profundidade
0
chamado pela aplicação

Texto

select * from t12 where id=1
  • 1 T: operação 1 do plano
  • 2 T, tabela do índice T_PK: operação 2 do plano

Perfil do comando

ComponenteDuração (s)%Ocorrências
espera0,00500074,41
espera0,00100014,91
recursivo0,0003905,8
cpu0,0001552,31
não contabilizado0,0001161,74
cpu0,0000500,71
cpu0,0000100,11
espera0,0000020,01
cpu0,0000010,01

Chamadas

ChamadaQuantidadeCPU (s)Duração (s)Disco (PIO)Consistente (CR)Corrente (CU)LinhasMisses
PARSE10,0000500,00010000001
EXEC10,0000100,00002000000
FETCH10,0002000,001600110010
CLOSE10,0000010,00000200000

Plano de execução 10

Das linhas STAT do trace.

Onde o plano gasta pelo valor próprio de cada operação, sem o das operações abaixo dela

  1. 1 Id 1 · TABLE ACCESS BY INDEX ROWID T 98,0% do tempo · 80,0% das leituras lógicas
    Visita a tabela linha a linha a partir do índice: índice pouco seletivo ou sem as colunas que o filtro usa.
  2. 2 Id 2 · INDEX UNIQUE SCAN T_PK 2,0% do tempo · 20,0% das leituras lógicas
IdOperaçãoExec.LinhasLinhas/execEstimadoTempo próprio (s)% tempoLIO próprio% LIOPRPWTempo (s)CRCustoobj
11 110,00147098,0880,0100,00150010250
22 110,0000302,0220,0000,0000302151

Acesso à tabela pelo ROWID do índice

TABLE ACCESS BY INDEX ROWID

Acessa a tabela, uma linha por vez, pelos ROWIDs que o index scan logo abaixo devolveu.

Boa quando
Poucas linhas, ou linhas guardadas perto umas das outras na tabela (clustering factor baixo).
Ruim quando
Muitas linhas espalhadas (clustering factor alto): quase um bloco lido por linha. Ou um filter predicate aplicado só aqui, que descarta a maior parte do que o índice trouxe: falta no índice a coluna desse predicado.
No plano, olhe
Compare as linhas do index scan logo abaixo com as desta operação: se aqui sobram bem menos, o predicado está na tabela e não no índice.

Busca por chave única

INDEX UNIQUE SCAN

Busca uma única chave num índice único (PK ou UNIQUE): desce do root block pelos branch blocks até o leaf block da chave.

Boa quando
Quase sempre: lê só a altura do índice (BLEVEL + 1 blocos).
Ruim quando
Como inner de um NESTED LOOPS com milhões de linhas no outer: barato por execução, caro no total.
No plano, olhe
Exec e o LIO próprio somado.

Clique numa operação para ver o que ela faz e quando ela é boa ou ruim. Tempo (s) e CR são acumulados: incluem as operações abaixo de cada uma (os row sources de entrada); os valores próprios descontam essas operações. O Oracle mede o tempo por operação por amostragem, então ele pode não fechar entre uma operação e as de baixo; as leituras lógicas são contadas sempre. Linhas/exec e Estimado em vermelho: o otimizador errou a cardinalidade por 10 vezes ou mais.

SQL recursivo executado por este comando

#Duração (s)Texto
20,000select obj# from obj$ where x=1

#2 · SELECT

sql_id bbbbbbbbbbbbbhv 222
Peso no tempo total
0,000 s
0,0% do tempo total
Inclusivo
0,000 s
todas as chamadas do comando
Profundidade
1
SQL recursivo

Texto

select obj# from obj$ where x=1

Perfil do comando

ComponenteDuração (s)%Ocorrências
espera0,00030076,91
não contabilizado0,00004511,52
cpu0,00004010,31
cpu0,0000051,31

Chamadas

ChamadaQuantidadeCPU (s)Duração (s)Disco (PIO)Consistente (CR)Corrente (CU)LinhasMisses
EXEC10,0000050,00001000000
FETCH10,0000400,00038013010

WaitScope 1.4.0 · análise feita no servidor · relatório exportado em 26/10/2026 18:51:47