Fórum Select.. #28656

09/11/2006

0

Amigos,

Tenho uma tabela de 380.000 linhas

Se faço um select em um campo Data/Hora da seguinte forma onde o campo é index unique (composto).

[b:b9d6e7c208]where TO_CHAR(DATA,´YYYYMMDD´) = ´20061109´[/b:b9d6e7c208]

a consulta passa a ser ´table scan´ ?

Porque da forma abaixo não funcionaria ?

[b:b9d6e7c208]where DATA BETWEEN TO_DATE(´20061109´) AND TO_DATE(´20061110´)[/b:b9d6e7c208]

Valeu !!!


[dexter]

[dexter]

Responder

Posts

13/11/2006

Motta

TENTE ISTO :
where DATA BETWEEN TO_DATE(´20061109´,´YYYYMMDD´) AND TO_DATE(´20061110´,´YYYYMMDD´)

mas a utilização ou não dos indices depende de uma séria de fatores , tipo : estatisticas atualizadas , tamanho da tabela , regra de custo etc.

o assunto é vasto tanto que tuning chega a ser tem de cursos.

vc já viu o plano de execução da query ?


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar