Re: Duda sobre rendimiento.

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Carlos Jordán <carlos(at)openland(dot)es>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Duda sobre rendimiento.
Date: 2005-08-12 17:44:45
Message-ID: 20050812174445.GB16953@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Fri, Aug 12, 2005 at 07:07:46PM +0200, Carlos Jordán wrote:

> El hecho de generar relaciones entre tablas de un base de datos en
> postgres aumenta la velocidad de las consultas sobre esta, o sólo
> sirve para que cuando borrar un registro de una tabla principal se
> borre en el resto de tablas relacionadas. ???

Generar relaciones de llaves foraneas no acelera las consultas. Solo
sirve para que cuando se hagan modificaciones en la tabla referida, la
tabla "referente" siga siendo consistente, via una de varias
estrategias: ya sea restringiendo, o bien haciendo borrados o
actualizaciones en cascada, etc.

> Es necesario generar un campo clave obligatoriamente por tabla
> para que un indice generado sea eficiente ???

No un campo clave (PRIMARY KEY), pero si una restriccion de unicidad
(UNIQUE). Esto en la tabla referida. En la tabla referente, no es
obligatorio, pero si la tabla va a crecer, se sugiere que tengas un
indice en los campos de la referencia. Esto, porque cuando quieras
borrar o actualizar datos de la tabla referida, el sistema tiene que
chequear la otra tabla; y si no tienes un indice, va a tener que hacer
un recorrido secuencial y se va a demorar bastante.

Ahora, si la tabla referente es pequeña, entonces no es necesario. Por
este motivo Postgres no te obliga a hacerlo ni lo hace automaticamente.

--
Alvaro Herrera (<alvherre[a]alvh.no-ip.org>)
"La espina, desde que nace, ya pincha" (Proverbio africano)

In response to

Responses

  • Ejecutar cadena at 2005-08-12 18:20:59 from Carlos Alberto Mÿffffffffffe1rquez Rey

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Miguel Angel Mejía 2005-08-12 17:51:46 Primeros registros de una tabla
Previous Message Mario Gonzalez 2005-08-12 17:42:26 Re: Archivos php en un Servidor web, Base de Datos en otro. Ambos en Linux