Saturday, May 08, 2010

Oracle - Usando Virtual Indexes

Quer testar a alteração de um plano de execução sem criar um índice físico no Oracle?
O uso da opção NOSEGMENT no comando CREATE INDEX é um recurso muito útil quando aparece a dúvida de criar um INDEX e saber se realmente ele fará efeito m um determinado plano de execução.
Claro que com Know-How da coisa você já sabe onde ajustar para que tenha um efeito desejado até chegar em um ponto aceitável.

Por padrão o uso da opção NOSEGMENT não faz efeito imediato na sua sessão , por isso preciso fazer uma alteração no parâmetro "_use_nosegment_indexes" para TRUE.

ex. 1

ALTER SESSION _use_nosegment_indexes=TRUE ;

Depois faça seu CREATE INDEX  e no final coloque a opção NOSEGMENT.

ex.2
CREATE INDEX  my_index ON my_table(my_column) NOSEGMENT;

Teste o seu plano de execução novamente e observe se realmente faz sentido criar o INDEX.

Tudo Ok faça DROP e crie o INDEX sem a opção NOSEGMENT.

Até,

No comments: