Em 27 de janeiro de 2011 15:21, sergio santos <sergio.serginhos...@gmail.com
> escreveu:

> Existe um índice para esta tabela que é justamente a data de cadastro.
> Posso tentar mudar para:
>
>
> DELETE FROM Esquema.TABELA1  WHERE CAMPO2 IN(
>     SELECT CAMPO2 from Esquema.TABELA1
>     WHERE CAMPO1 = 'D_E_L'
>     AND datahora BETWEEN '2011/01/01' AND '2011/01/27 23:59:'
>     LIMIT 30000
> );
>
>
O teu plano melhorou, mas vc nao pensou em criar um indice pelo campo
'CAMPO1' ??? Creio que assim vc poderia rodar um DELETE direto na tabela...
ou tb fazer um pouco diferente:

DELETE FROM Esquema.TABELA1 WHERE EXISTS (SELECT 1 FROM Esquema.TABELA1 x
WHERE x.CAMPO2 = TABELA1.CAMPO2 AND x.CAMPO1 = 'D_E_L' AND datahora BETWEEN
'2011/01/01' AND '2011/01/27 23:59:');


-- 
Fabrízio de Royes Mello
>> Blog sobre TI: http://fabriziomello.blogspot.com
>> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a