Re: ayuda con planeador

From: Pablo Febolo <pfebolo(at)yahoo(dot)com>
To: Cristian Saavedra <cristian(dot)aquii(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: ayuda con planeador
Date: 2007-01-12 22:43:02
Message-ID: 20070112224302.7186.qmail@web56707.mail.re3.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Cristian, con las tablas normalizadas, ¿tenés un indice en la tabla sucursales_67 por el campo suc_loc_fk_n?

Con eso solo, a mi me parece que la consulta debería ser bien rápida.

Pablo.

----- Original Message ----
From: Cristian Saavedra <cristian(dot)aquii(at)gmail(dot)com>
To: Cristian Saavedra <cristian(dot)aquii(at)gmail(dot)com>; pgsql-es-ayuda(at)postgresql(dot)org
Sent: Friday, January 12, 2007 5:40:19 PM
Subject: Re: [pgsql-es-ayuda] ayuda con planeador

Gracias a todos por las respuestas, les adjunto la informacion que me
solicitaron

aquii_dyb=# select count(*) from sucursales_67;
count
---------
9524100
(1 row)

aquii_dyb=# select count(*) from zcatxsuc_67;
count
----------
25696829
(1 row)

No se porque pense que eran mas datos en zcatxsuc

los querys son los siguientes.

el query normalizado, que utiliza las dos tablas y permite la relacion 1 a N:

SELECT suc_id_n, suc_legal_s, suc_name_s, suc_loc_fk_n, suc_tel1_s,
suc_tel2_s, suc_fax_s, suc_address_s, suc_door_s, suc_suite_s,
suc_zip_s, suc_url_s, suc_email_s, suc_logo_s, suc_norm_name_s from
sucursales_71, zcatxsuc_67, location where suc_loc_fk_n = 59285 and
cxs_cat_fk_n=124911 and suc_id_n=cxs_suc_fk_n order by suc_norm_name_s
limit 30 offset 0

El query al que nos devolvimos, metiendo los campos de categoria
dentro de la tabla de sucursales.

SELECT suc_id_n, suc_legal_s, suc_name_s, suc_loc_fk_n, suc_tel1_s,
suc_tel2_s, suc_fax_s,
suc_address_s, suc_door_s, suc_suite_s, suc_zip_s, suc_url_s,
suc_email_s, suc_logo_s,
suc_norm_name_s
from sucursales_67 where suc_loc_fk_n = 59285
and
(
suc_cat1_fk_n=124911 or
suc_cat2_fk_n=124911 or
suc_cat3_fk_n=124911 or
suc_cat4_fk_n=124911 or
suc_cat5_fk_n=124911)
order by suc_norm_name_s limit 30 offset 0

La estructura de las tablas, notara que sucursales ya tiene los campos
de categorias y los indices de cada uno de ellos.

Table "public.sucursales_67"
Column | Type |
Modifiers
------------------+------------------------+------------------------------------------------------------------
suc_id_n | integer | not null default
nextval('sucursales_67_suc_id_n_seq'::regclass)
suc_loc_fk_n | integer | not null
suc_name_s | character varying(500) | not null
suc_tel1_s | character varying(20) |
suc_tel2_s | character varying(20) |
suc_fax_s | character varying(20) |
suc_email_s | character varying(100) |
suc_url_s | character varying(100) |
suc_address_s | character varying(100) |
suc_logo_s | character varying(100) |
suc_zip_s | character varying(30) |
suc_norm_name_s | character varying(500) | not null
suc_legal_s | character varying(100) |
suc_door_s | character varying(100) |
suc_suite_s | character varying(100) |
suc_areacode_s | character varying(100) |
suc_serial_s | character varying |
suc_rat_value_n | integer | default 0
suc_rat_votes_n | integer | default 0
suc_desc_s | character varying(500) |
suc_duns_s | character varying(20) |
suc_cat1_fk_n | integer |
suc_cat2_fk_n | integer |
suc_cat3_fk_n | integer |
suc_cat4_fk_n | integer |
suc_cat5_fk_n | integer |
suc_ver_dnb_b | boolean | not null default false
suc_ver_dun_b | boolean | not null default false
suc_ran_adp_fk_n | integer |
suc_ran_prc_f | real | not null default 0
suc_ran_enb_n | integer | not null default 0
suc_top_adp_fk_n | integer |
suc_top_prc_f | real | not null default 0
suc_top_enb_n | integer | not null default 0
Indexes:
"sucursales_67_pkey" PRIMARY KEY, btree (suc_id_n)
"suc_67_all_cats_idx" btree (suc_cat1_fk_n, suc_cat2_fk_n,
suc_cat3_fk_n, suc_cat4_fk_n, suc_cat5_fk_n)
"suc_67_cat1_idx" btree (suc_cat1_fk_n)
"suc_67_cat2_idx" btree (suc_cat2_fk_n)
"suc_67_cat3_idx" btree (suc_cat3_fk_n)
"suc_67_cat4_idx" btree (suc_cat4_fk_n)
"suc_67_cat5_idx" btree (suc_cat5_fk_n)
"suc_67_loc_fk_index" btree (suc_loc_fk_n)
"suc_67_name_index" btree (suc_name_s varchar_pattern_ops)
"suc_67_name_lower_index" btree (lower(suc_name_s::text)
varchar_pattern_ops)
"suc_67_norm_index" btree (suc_norm_name_s varchar_pattern_ops)
"suc_67_serial_idx" btree (suc_serial_s varchar_pattern_ops)
"suc_name_regular_index_67" btree (suc_name_s)
"suc_norm_regular_index_67" btree (suc_norm_name_s)
Foreign-key constraints:
"suc_67_cat1" FOREIGN KEY (suc_cat1_fk_n) REFERENCES category(cat_id_n)
"suc_67_cat2" FOREIGN KEY (suc_cat2_fk_n) REFERENCES category(cat_id_n)
"suc_67_cat3" FOREIGN KEY (suc_cat3_fk_n) REFERENCES category(cat_id_n)
"suc_67_cat4" FOREIGN KEY (suc_cat4_fk_n) REFERENCES category(cat_id_n)
"suc_67_cat5" FOREIGN KEY (suc_cat5_fk_n) REFERENCES category(cat_id_n)
"suc_67_loc" FOREIGN KEY (suc_loc_fk_n) REFERENCES "location"(loc_id_n)
"suc_67_ran_adp" FOREIGN KEY (suc_ran_adp_fk_n) REFERENCES adspool(adp_id_n)
"suc_67_suc" FOREIGN KEY (suc_id_n, suc_loc_fk_n) REFERENCES
sucursales(suc_id_n, suc_loc_fk_n)
"suc_67_top_adp" FOREIGN KEY (suc_top_adp_fk_n) REFERENCES adspool(adp_id_n)

y la tabla zcatxsuc

aquii_dyb=# \d zcatxsuc_67
Table "public.zcatxsuc_67"
Column | Type | Modifiers
--------------+---------+-----------
cxs_suc_fk_n | integer | not null
cxs_cat_fk_n | integer | not null
Indexes:
"zcatxsuc_67_pkey" PRIMARY KEY, btree (cxs_suc_fk_n, cxs_cat_fk_n)
"cxs_cat_67_index" btree (cxs_cat_fk_n)
"cxs_suc_67_index" btree (cxs_suc_fk_n)
Foreign-key constraints:
"cxs_67_cat" FOREIGN KEY (cxs_cat_fk_n) REFERENCES category(cat_id_n)
"cxs_67_suc_67" FOREIGN KEY (cxs_suc_fk_n) REFERENCES
sucursales_67(suc_id_n)

---------------------------(fin del mensaje)---------------------------
TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?

http://archives.postgresql.org/pgsql-es-ayuda



__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya!
http://www.yahoo.com.ar/respuestas

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Juan Mora Mora 2007-01-12 23:14:09 unsubscribe-digest pgsql-es-ayuda
Previous Message Alvaro Herrera 2007-01-12 22:27:45 Re: Sitio en espaniol