Re: Tunning postgresql - Mailing list pgsql-general
From | Josué Maldonado |
---|---|
Subject | Re: Tunning postgresql |
Date | |
Msg-id | 3FBBFACB.8020904@lamundial.hn Whole thread Raw |
In response to | Re: Tunning postgresql (Stephen Robert Norris <srn@commsecure.com.au>) |
Responses |
Re: Tunning postgresql
|
List | pgsql-general |
Stephen, This is the query code: SELECT (cmes(substr(epr_periodo,5,2))||'-'||substr(epr_periodo,3,2))::char(6) AS hmes, epr_periodo, coalesce(epr_venta,0)::numeric(12,4) as epr_venta, coalesce(epr_costo,0)::numeric(12,4) as epr_costo, coalesce(epr_qty,0)::numeric(12,4) as epr_qty, coalesce(epr_qty2,0)::numeric(12,4) as epr_qty2, coalesce(epr_qty3,0)::numeric(12,4) as epr_qty3, case when epr_qty=0 then 0 else coalesce((epr_costo/epr_qty),0)::numeric(12,4) end as cost_prom, case when epr_qty=0 then 0 else coalesce((epr_venta/epr_qty),0)::numeric(12,4) end as prec_prom, case when epr_costo=0 then 0 else coalesce((((epr_venta/epr_costo)*100)-100),0)::numeric(12,4) end as margen FROM estprod WHERE pro_code = '1017' and epr_periodo >= '200211' and epr_periodo <= '200311' This is the explain: Index Scan using idx_estx on estprod (cost=0.00..38.29 rows=9 width=67) (actual time=0.52..1.64 rows=13 loops=1) Index Cond: ((pro_code = '1017'::bpchar) AND (epr_periodo >= '200211'::bpchar) AND (epr_periodo <= '200311'::bpchar)) Total runtime: 1.70 msec (3 rows) Table estprod is: CREATE TABLE public.estprod ( pk_estprod int4 DEFAULT nextval('sqestprod'::text), product_fk int4, epr_periodo char(6), epr_venta numeric(12,4), epr_costo numeric(12,4), epr_qty numeric(12,4), epr_venta2 numeric(12,4), epr_costo2 numeric(12,4), epr_qty2 numeric(12,4), epr_venta3 numeric(12,4), epr_costo3 numeric(12,4), epr_qty3 numeric(12,4), epr_ventax numeric(12,2), pro_code char(4), xmes varchar(6), imes int4 ) WITH OIDS; and it contains 355,513 rows Stephen Robert Norris wrote: > On Thu, 2003-11-20 at 02:06, Josué Maldonado wrote: > >>Hi Stephen, >> >>Stephen Robert Norris wrote: >> >>> >>>Speaking from long experimentation, you're much, much better off making >>>sure your indices and queries are optimal that messing around with >>>buffer space. Buffer space tuning might get you a few percent >>>performance once you pick a reasonable value; query tuning can get you >>>orders of magnitude. >>> >> >>I tunned my querys and all uses indexes and seems to be fast, but when >>my client app acccess the pg data it seems a little slow. I installed >>MSDE (mssql limited version) and copied the same data from pg to MSDE, I >>was surprised cuz running the same query with the same data and MSDE >>seems to be a little bit faster, after the changes in postgresql.conf >>described in the previus message pg perfomance increased a little but >>still there is no big difference against MSDE, considering hardware, pg >>is in a real server (dual Xeon 2.4 Ghz, 2G RAM, 3 36G SCSI drives on a >>RAID5) and the server is not in production, MSDE is in a AMD athlon 1Gh >>with 256RAM y should expect better performace from pg. I wonder if ODBC >>could be affect performance so high, my current ODBC driver is 7.03.02. >> >>Thanks > > > I have never used ODBC so I don't know how much that will effect > performance. What are the schemata for the tables, and what does explain > analyze tell you about the query? > > Stephen > -- Josué Maldonado.
pgsql-general by date: