Re: [PERFORM] Digesting explain analyze

2010-01-07 Thread Matthew Wakeling
On Thu, 7 Jan 2010, Jesper Krogh wrote: If disk seeks are killing you a kinda crazy idea would be to duplicate the table - clustering one by (id1) and the other one by an index on (id2) and unioning the results of each. That's doubling the disk space needs for the table. Is there any odds that

Re: [PERFORM] Digesting explain analyze

2010-01-07 Thread Oleg Bartunov
Jesper, the whole idea of bitmap index scan is to optimize heap access, so it ruins any ordering, returned by index. That's why our new KNNGist, which returned ordered index tuples doesn't supports bitmap index scan (note, this is only for knn search). Oleg On Wed, 6 Jan 2010, Robert Haas wrote

Re: [PERFORM] Digesting explain analyze

2010-01-06 Thread Greg Smith
Jesper Krogh wrote: Is it possible to get PG to tell me, how many rows that fits in a disk-page. All columns are sitting in "plain" storage according to \d+ on the table. select relname,round(reltuples / relpages) as "avg_rows_per_page" from pg_class where relpages > 0; -- Greg Smith2nd

Re: [PERFORM] Digesting explain analyze

2010-01-06 Thread Jesper Krogh
Ron Mayer wrote: >> ...The inner sets are on average 3.000 for >> both id1 and id2 and a typical limit would be 100, so if I could convince >> postgresql to not fetch all of them then I would reduce the set retrieved >> by around 60. The dataset is quite large so the random query is not very >> lik

Re: [PERFORM] Digesting explain analyze

2010-01-06 Thread Robert Haas
On Wed, Jan 6, 2010 at 2:10 PM, Jesper Krogh wrote: > Hi. > > I have a table that consists of somewhere in the magnitude of 100.000.000 > rows and all rows are of this tuples > > (id1,id2,evalue); > > Then I'd like to speed up a query like this: > > explain analyze select id from table where id1 =

Re: [PERFORM] Digesting explain analyze

2010-01-06 Thread Ron Mayer
Jesper Krogh wrote: > I have a table that consists of somewhere in the magnitude of 100.000.000 > rows and all rows are of this tuples > > (id1,id2,evalue); > > Then I'd like to speed up a query like this: > > explain analyze select id from table where id1 = 2067 or id2 = 2067 order > by evalue

[PERFORM] Digesting explain analyze

2010-01-06 Thread Jesper Krogh
Hi. I have a table that consists of somewhere in the magnitude of 100.000.000 rows and all rows are of this tuples (id1,id2,evalue); Then I'd like to speed up a query like this: explain analyze select id from table where id1 = 2067 or id2 = 2067 order by evalue asc limit 100;