Re: [pgsql-es-ayuda] Creación de Indices

From: Sergio Valdes Hurtado <svh(dot)pgsql(at)gmail(dot)com>
To: Alejandro Carrillo <fasterzip(at)yahoo(dot)es>
Cc: Lista PostgreSql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [pgsql-es-ayuda] Creación de Indices
Date: 2012-06-21 21:33:29
Message-ID: CA+TBOYL_b_d6UmpTCKw7gnPArmfTk9xoZg8bbyn84A5aG==TQg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El 21 de junio de 2012 17:06, Alejandro Carrillo <fasterzip(at)yahoo(dot)es>escribió:

> 1) Crea un indice por cada campo que vayas a filtrar con frecuencia: rbd,reg_cod,ano_pago,
> ind_reli,rut_sost ; es decir no crees indices compuestos ya que estos
> exigen que la consulta se haga por todos los campos.
>
> En realidad las tres consultas son ídenticas, sólo cambian en el where ,
ya que una es rbd in (..), la otra es rut_sost in(..) y la última reg_cod
in (..). La primera trae pocos datos ya que normalmente se pregunta por uno
o dos rbd, la segunta trae mas datos, ya que un rut_sost puede tener varios
rbd y la última es la que mas datos trae, ya que un reg_cod tiene muchos
rut_sost.
¿Debo crear índices distintos para cada una de las consultas?
¿Deben ser índividuales o compuestos?

2) Si la tabla tiene foráneas pertenecientes a otra tabla, estas deben
tener índice
No tiene llaves foráneas
3) No hagas un IN por un sólo valor, es más rápido usar = que IN
Lo uso por comodidad, ya que normalmente debemos consultar por mas de un
rbd o rut_sost o reg_cod
4) Me parece que esa tabla debe estar en su propio tablespace o en un
tablespace para tablas grandes.

--
Sergio Valdés H.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Felipe de Jesús Molina Bravo 2012-06-21 21:49:32 Re: Migrar bd de pgsql 8.1.8 a 9.1.3. cast character to integer
Previous Message Alvaro Herrera 2012-06-21 21:19:46 Re: Re: [pgsql-es-ayuda] Creación de Indices