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] >