EVITE USAR O TRUNC NESTE SEU CAMPO DATA, NESTE CASO VC MATARIA O 
ÍNDICE.
O ÍNDICE SERIA UTILIZADO SE VC O TIVESSE CRIADO, BASEADO EM FUNÇÃO

VC PODE FAZER O SEGUINTE :

SELECT <NOME_DOS_CAMPOS) FROM <TABELA>
       WHERE DATA BETWEEN TRUNC(SYSDATE) AND TRUNC(SYSDATE) + .999999

NESTE CASO ACIMA O TRUNC(SYSDATE), TRARÁ A DATA ARREDONDADA PARA MEIA-
NOITE E O TRUNC(SYSDATE) + .999999 TRARÁ A DATA E A HORA ATÉ 23:59.

EX: NA DATA DE HOJE 11/09/08 TERÍAMOS :

11/09/08 00:00 A 11/09/08 23:59


NÃO SEI SE FUI CLARO.

--- Em oracle_br@yahoogrupos.com.br, "Jean Carlo" <[EMAIL PROTECTED]> 
escreveu
>
> Bom dia, pessoal.
> 
> Tenho um select da seguinte forma:
> select * from tabela
> where trunc(data) = trunc(sysdate);
> 
> onde tabela tem quase 6 milhões de registros, tenho um index no 
campo data, sei que usando o trunc é usado o mesmo não utiliza o 
index gostaria de saber se tem como melhorar a performece usando 
trunc.
> Pois usando where data > sysdate-1 o mesmo me traz as ultimas 24hrs 
e só qro do dia corrente, e dessa forma sei que o index é utilizado.
> 
> Versão do meu BD: 9.2.0.5.0.
> 
> [As partes desta mensagem que não continham texto foram removidas]
>


Responder a