The simplified scene:
select slowfunction() from a order by b limit 1
is slow than
select slowfunction() from ( select * from a order by b limit 1)
if there are many records in table 'a'
The real scene:
function ST_Distance_Sphere is slow than ST_Distance, the query:
SELECT ST_Distance_Sphere(s, ST_GeomFromText('POINT(1 1)')) from road order by
ST_Distance(s, ST_GeomFromText('POINT(1 1)')) limit 1
is slow than:
select ST_Distance_Sphere(s, ST_GeomFromText('POINT(1 1)')) from (SELECT s from
road order by ST_Distance(s, ST_GeomFromText('POINT(1 1)')) limit 1) as a
There are about 7000 records in 'road'.
--
Sent via pgsql-performance mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance