From: | "SERGIO CRESPO" <screspo(at)rollerstar(dot)com> |
---|---|
To: | "Alvaro Herrera" <alvherre(at)commandprompt(dot)com> |
Cc: | <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: REDUCIR COSTE DEL QUERY |
Date: | 2007-07-25 16:25:25 |
Message-ID: | 001e01c7ced8$6a4c6dc0$1301a8c0@SERGIO |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Alvaro, el problema es el LIKE del campo codigo. Si pongo '=' en vez d LIKE
va muy rapido.
he cambiado el campo codigo a integer y hace lo mismo.
----- Original Message -----
From: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
To: "SERGIO CRESPO" <screspo(at)rollerstar(dot)com>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Wednesday, July 25, 2007 5:23 PM
Subject: Re: [pgsql-es-ayuda] REDUCIR COSTE DEL QUERY
> SERGIO CRESPO escribió:
>
>> Columna | Tipo | Modificadores
>> ---------+---------------+---------------
>> empresa | character(7) | not null
>> codigo | character(10) | not null
>
>> explain select sum(debe) as debe,sum(haber) as haber from plan_mes where
>> empresa='120071' and codigo like '4305037%' group by mes order by mes ;
>
> No uses char(7) para el campo empresa. Es la peor opcion que pudiste
> haber tomado. Te sugiero cambiar esa columna a INTEGER.
>
> Creo que esta consulta seria un poquito mejor si el valor para empresa
> fuera realmente de largo 7, como indica el tipo. Por ej. prueba
>
> where empresa='120071 '
>
> y ve si te entrega un plan mejor. Parece tonto verdad? Lo es. La
> manera de librarse de esos problemas idiotas es no usar char(N). Es un
> tipo inutil que existe para satisfacer el estandar SQL.
>
> --
> Alvaro Herrera
> http://www.CommandPrompt.com/
> The PostgreSQL Company - Command Prompt, Inc.
>
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2007-07-25 16:33:18 | Re: Tipo CHAR [ERA: Re: REDUCIR COSTE DEL QUERY} |
Previous Message | Mario Gonzalez | 2007-07-25 16:20:31 | Re: Tipo CHAR [ERA: Re: REDUCIR COSTE DEL QUERY} |