Here is the actual explain analyze of the query on the smaller dataset which I have been using for the recent testing.
test=# explain analyze create table _tmp0 as select * from ( select *, (select healpixid from idt_match as m where m.transitid=o.transitid) as x from idt_photoobservation_small as o offset 0 ) as y where x%16=0 order by x; QUERY PLAN p---------------------------------------------------------------------------------------------------------------------------------------------------------------------- Sort (cost=63835201.73..63835214.23 rows=5000 width=498) (actual time=8203.041..8252.216 rows=173696 loops=1) Sort Key: y.x Sort Method: quicksort Memory: 182555kB -> Subquery Scan on y (cost=0.00..63834894.54 rows=5000 width=498) (actual time=0.102..7602.947 rows=173696 loops=1) Filter: ((y.x % 16::bigint) = 0) Rows Removed by Filter: 826304 -> Limit (cost=0.00..63819894.51 rows=1000002 width=490) (actual time=0.041..7296.401 rows=1000000 loops=1) -> Seq Scan on idt_photoobservation_small o (cost=0.00..63819894.51 rows=1000002 width=490) (actual time=0.038..7094.555 rows=1000000 loops=1) SubPlan 1 -> Index Scan using idt_match_transitid_idx on idt_match m (cost=0.00..63.74 rows=1 width=8) (actual time=0.003..0.004 rows=1 loops=1000000) Index Cond: (transitid = o.transitid) Total runtime: 8908.631 ms ***************************************************** Sergey E. Koposov, PhD, Research Associate Institute of Astronomy, University of Cambridge Madingley road, CB3 0HA, Cambridge, UK Tel: +44-1223-337-551 Web: http://www.ast.cam.ac.uk/~koposov/ -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers