Tabela DUAL do Oracle

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (1)  (0)

Tabela dual, para que ela serve e como ela vem otimizada na versão 10g. A tabela Dual é muito utilizada pelos desenvolvedores, DBAs e pela própria Oracle para fazer operações com select aonde não é necessário fazer extração de dados em tabelas.

Olá Pessoal,

Vou falar um pouco sobre a tabela dual, para que ela serve e como ela vem otimizada na versão 10g.
A tabela Dual é muito utilizada pelos desenvolvedores, DBAs e pela própria Oracle para fazer operações com select aonde não é necessário fazer extração de dados em tabelas. Basicamente ela ajuda a manter a sintaxe correta de um select aonde não teremos uma tabela na consulta.

Observem a consulta abaixo executada no 9i

SQL> SELECT SYSDATE
2  FROM   dual;

1 row selected.

Execution Plan
———————————————————-
0      SELECT STATEMENT Optimizer=ALL_ROWS (Cost=5 Card=8168)
1    0   TABLE ACCESS (FULL) OF ‘DUAL’ (Cost=5 Card=8168)

Statistics
———————————————————-
1  recursive calls
0  db block gets
3  consistent gets
0  physical reads
0  redo size
194  bytes sent via SQL*Net to client
341  bytes received via SQL*Net from client
2  SQL*Net roundtrips to/from client
0  sorts (memory)
0  sorts (disk)
1  rows processed
Agora vamos executar  a mesma consulta no 10g

SQL> set autotrace traceonly

SQL> SELECT SYSDATE
2  FROM   dual;

1 row selected.

Execution Plan
———————————————————-
0      SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=1)
1    0   FAST DUAL (Cost=2 Card=1)

Statistics
———————————————————-
1  recursive calls
0  db block gets
0  consistent gets
0  physical reads
0  redo size
203  bytes sent via SQL*Net to client
342  bytes received via SQL*Net from client
2  SQL*Net roundtrips to/from client
0  sorts (memory)
0  sorts (disk)
1  rows processed

Na consulta efetuada no 9i vemos um “access Full” na tabela dual, e nas estastisticas aparecem 3 “consistent gets” do qual os dba´s tentam se livrar utilizanos várias técnicas que agora com a versão 10g se tornaram dispensáveis. Na consulta realizada no 10g não há “consistent gets” e o custo é mais baixo.

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?