Re: Nested query performance issue - Mailing list pgsql-performance

From Віталій Тимчишин
Subject Re: Nested query performance issue
Date
Msg-id 331e40660904090225y3c2ddc37gcfb8cb97e301d2f8@mail.gmail.com
Whole thread Raw
In response to Re: Nested query performance issue  (Glenn Maynard <glennfmaynard@gmail.com>)
Responses Re: Nested query performance issue  (Glenn Maynard <glennfmaynard@gmail.com>)
Re: Nested query performance issue  (Greg Smith <gsmith@gregsmith.com>)
Re: Nested query performance issue  (Merlin Moncure <mmoncure@gmail.com>)
List pgsql-performance
OK, got to my postgres. Here you are:

create or replace function explode_array(in_array anyarray) returns setof anyelement as
$$
    select ($1)[s] from generate_series(1,array_upper($1, 1)) as s;
$$
language sql immutable;

SELECT s.* FROM score s
WHERE s.id IN (
  select
  -- Get the high scoring score ID for each game:
  explode_array(ARRAY(
      -- Get the high score for game g:
      SELECT s2.id FROM score s2 WHERE s2.game_id = g.id ORDER BY
s2.score DESC LIMIT 5
  ))
  FROM game g
);

It takes ~64ms for me

Best regards, Vitaliy Tymchyshyn

pgsql-performance by date:

Previous
From: "Rainer Mager"
Date:
Subject: Re: difficulties with time based queries
Next
From: Heikki Linnakangas
Date:
Subject: Re: Nested query performance issue