Re: REDUCIR COSTE DEL QUERY

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

In response to

Responses

Browse pgsql-es-ayuda by date

  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}