select studentid,max(score) from studentprofile group by studentid;
or if you want only those which exists in students
from studentprofile p,students s
group by s.studentid;
if it takes longer than 1-2 seconds something is seriously wrong
On Tue, 20 Feb 2007, Marko Niinimaki wrote:
> I'm having a surprising performance problem with the following simple
> 'highscore report'
> select studentid, (select max(score) from
> studentprofile prof where prof.studentid = students.studentid) from students;
> I have indexes on students(studentid) and studentprofile(studentid).
> Row counts: about 160 000 in each students and studentprofile.
> Postgres version:
> This is a dual-processor 3Ghz 64bit box with 2 GB mem.
> Running the query takes 99% CPU and 1% mem.
> I have the same data in MSSQL and there the query takes less than a
> minute. With postgres it seems to take several hours.
> Is there a way of making this faster?
> ---------------------------(end of broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
> choose an index scan if your joining column's datatypes do not
In response to
pgsql-performance by date
|Next:||From: Tom Lane||Date: 2007-02-20 07:43:06|
|Subject: Re: slow subselects |
|Previous:||From: Marko Niinimaki||Date: 2007-02-20 07:10:55|
|Subject: slow subselects|