RE: Speed or configuration - Mailing list pgsql-sql

From Franz J Fortuny
Subject RE: Speed or configuration
Date
Msg-id 002f01c00af3$4efce0a0$0b01a8c0@ivsol
Whole thread Raw
In response to Speed or configuration  ("Franz J Fortuny" <ffortuny@ivsol.com>)
Responses RE: Speed or configuration
List pgsql-sql


"What version of Postgres are you using, and what does
EXPLAIN show
as the query plan for this query?  How many tableY rows
is the sub-
query likely to produce, and how many matches do you
expect to get
from tableX?"

Version: postgresql-7.0.2-2.i386.rpm
Explain: Scan table, scan table. (Plus the costs, etc.)

About 9,000 matches from tableX are expected, and a lot
less from
tableY (about 2000, at the most).

The index structure of tableY includes 5 fields. Most of
the time, we need only the first and second fields. Less
often, up to the third field and a lot less often the
other 2 left fields (in the "where" clauses).

However, field1 of tableX references field1 of tableY.
If I use a program to get the results, they come out
incredibly fast (faster in postgreSQL than with the
commercial program)

(A select to get a first record set from tableY, then
navigate the rows, executing a select for tableX for
each row...)

These the structures of the tables:

create table tableX
(col0 integer not null primary key,col1 integer not null,col2 integer not null,col3 char(20),col4 char(8),col5
char(8),unique(col1,col2,col3,col4,col5)
);

create table tableY
( col0 integer not null references tableX(col0), col1 integer, col2 integer, col3 float, col4 float
);

The slow query is:

select col1,col2,sum(col3),sum(col4)
from tableY
where col0 in
(select col0 from tableX where col1=:col1 and
col2=:col2)
group by col1,col2;

Explain plan shows ALWAYS scan table, scan table, scan
table.

tableY contains about 900,000 rows, and tableX about
65,000.

Any more light about the slowness?

Franz J Fortuny



pgsql-sql by date:

Previous
From: The Hermit Hacker
Date:
Subject: Re: update syntax error?
Next
From: "Franz J Fortuny"
Date:
Subject: RE: Speed or configuration