Re: Indices

From: Felipe Fernandez <danielfm(at)teleline(dot)es>
To: Martin Marques <martin(at)bugs(dot)unl(dot)edu(dot)ar>, postgresql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Indices
Date: 2004-08-02 13:06:15
Message-ID: 410E3C47.8080503@teleline.es
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

La tabla tiene unos 8 millones de registros y repartidos entre 52
provincias y cerca de 9000 localidades

Martin Marques wrote:

>El Sáb 31 Jul 2004 20:52, Felipe Fernandez escribió:
>
>
>>Tengo definidos estos dos indices exactamente igual en una query los
>>utiliza y en otra no ¿Alguien me puede indicar porque?
>>
>>
>>basedatos=#explain SELECT * FROM ABONADOS WHERE localidad= '38038' ;
>> QUERY PLAN
>>---------------------------------------------------------------------------
>>------------------ Index Scan using abonados_localidad on abonados
>>(cost=0.00..43338.81 rows=12888 width=106)
>> Index Cond: (localidad = 38038)
>>(2 rows)
>>
>>
>
>La tabla tiene (o al menos las estadísticas dicen eso) 38038 filas.
>
>
>
>>basedatos=# explain SELECT * FROM ABONADOS WHERE provincia = '38' ;
>> QUERY PLAN
>>-------------------------------------------------------------------
>> Seq Scan on abonados (cost=0.00..236186.08 rows=88809 width=106)
>> Filter: (provincia = 38)
>>(2 rows)
>>
>>
>
>Esta tabla tiene solo 38, por lo que es mas conveniente hacer una busqueda
>secuencial y no usar el índice.
>
>El planner decide si va a usar un índice o no dependiendo de las estadísticas
>recogidas, y si la tabla tiene 5 registros nomas, siempre va a ser mas rápido
>hacer una busqueda secuencial que usar un índice.
>
>Espero te sirva la explicación.
>
>
>

In response to

  • Re: Indices at 2004-08-02 11:50:40 from Martin Marques

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Hector Choque Reyes 2004-08-02 14:58:32 Majordomo results: Desuscribir
Previous Message Martin Marques 2004-08-02 12:07:46 Re: Indices