Re: RE: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Rapidéz

From: "Linder Poclaba" <linder(dot)poclaba(at)gmail(dot)com>
To: "Luis Enrique Sanchez Arce" <lesanchez(at)estudiantes(dot)uci(dot)cu>
Cc: "Mario Gonzalez" <gonzalemario(at)gmail(dot)com>, "Jaime Casanova" <systemguards(at)gmail(dot)com>, Fermín Bueno <paralasvainas(at)yahoo(dot)es>, "Leonel Nunez" <lnunez(at)enelserver(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: RE: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Rapidéz
Date: 2006-06-27 15:21:02
Message-ID: 5aa69e1b0606270821ubb0302awf651d7479bb3b8fa@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 6/27/06, Luis Enrique Sanchez Arce <lesanchez(at)estudiantes(dot)uci(dot)cu> wrote:
>
>
> He conseguido resolver mi problema.
> Lo que pasaba era que no había creado ningún indice en la tabla donde
> hacía
> la consulta y parece que postgres por defecto no indexa ningún dato a
> menos
> que lo hagas manulamente.
>
> Las consulatas mejoraron descomunalmente de 1200 ms a 6 ms.
>
> Otra dudillas:
>
> - cual de los algoritmos de indices (btree,hash,rtree,gist) es el mas
> eficiente y rápido a la hora de
> selecionar campos de una tabla. ????

El uso de indices efectivamente mejoran la performance de tu base de datos,
pero el uso inapropiado hara que el funcionamiento sea mas lento. Los
indices Btree se usan para busquedas donde los operadores de comparacion
son: <, <=, =, >=, > . Rtree <<,&<,&>,>>,@,~=,&&. hash en =.

- Tengo dos tablas que se relacionan entre si por un campo que se llama
> id_principal que es un serial8
> para que se genere automatico. Para poder insertar en una tabla tiene
> que existir previamente en la
> otra.

Sip, si quieres insertar datos en dos tablas referenciadas.

Como capturo el id_principal que se generó nuevo para no tener que hacer un
> select para luego
> insertar en la otra tabla.

No se si se puedo pero yo siempre hago el select y luego la insercion.

Gracias a todos por la ayuda me ha servido de mucho
>
>
>
>
> -----Original Message-----
> From: Mario Gonzalez [mailto:gonzalemario(at)gmail(dot)com]
> Sent: Tue 27/06/2006 9:50
> To: Luis Enrique Sanchez Arce
> Cc: Jaime Casanova; Fermín Bueno; Leonel Nunez;
> pgsql-es-ayuda(at)postgresql(dot)org
> Subject: Re: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] RE: [pgsql-es-ayuda]
> Re: [pgsql-es-ayuda] Rapidéz
>
> On 26/06/06, Luis Enrique Sanchez Arce <lesanchez(at)estudiantes(dot)uci(dot)cu>
> wrote:
> >
> > Bueno la tabla contiene 4 columnas y se llama principal
> >
> > id_principal(serial8) | resumen(varchar(64)) | cant_clasif(int4) |
> niv_cen(int4)
> >
> > la consulta es: select * from principal where resumen =
> 't/Mjznw8pPKEOXZNZvDUaZawuz4'
> > se tarda 2 segundos y algo mas en retornarme los datos.
> >
>
> IMO Creo que lo que se demora podria considerarse como aceptables,
> cada vez que haces una consulta sobre un campo tipo varchar haces
> busquedas secuenciales, por lo que debe recorrer cada registro hasta
> encontrar que resumen se paresca a lo que muestras ahi. Buscar por
> datos enteros siempre va a ser mas rapido.
>
> Te es posible hacer ese cambio??
>
> > Pudieras explicarme en que consiste los indices y el EXPLAIN ANALYZE de
> la consulta
>
> Ejecuta en tu consola de psql y nos mandas el resultado que arroja
>
> EXPLAIN ANALIZE select * from principal where resumen =
> 't/Mjznw8pPKEOXZNZvDUaZawuz4';
>
> --
> http://www.advogato.org/person/mgonzalez/
>
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 9: el optimizador ignorará el uso de recorridos de índice si los
> tipos de datos de las columnas no coinciden
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Nicolás Domínguez Florit 2006-06-27 15:21:29 Compilar una funcion en C
Previous Message Edwin Quijada 2006-06-27 14:23:29 Re: agregar una columna entera a lista de insecion de una tabla