Re: Can simplify 'limit 1' with slow function?

From: Martijn van Oosterhout <kleptog(at)svana(dot)org>
To: gotoschool6g <gotoschool6g(at)gmail(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Can simplify 'limit 1' with slow function?
Date: 2014-07-01 19:16:32
Message-ID: 20140701191631.GA20140@svana.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, Jun 29, 2014 at 10:05:50PM +0800, gotoschool6g wrote:
> The simplified scene:
> select slowfunction(s) from a order by b limit 1;
> is slow than
> select slowfunction(s) from (select s from a order by b limit 1) as z;
> if there are many records in table 'a'.
>
>
> The real scene. Function ST_Distance_Sphere is slow, the query:
> SELECT ST_Distance_Sphere(s, ST_GeomFromText('POINT(1 1)')) from road order by c limit 1;
> is slow than:
> select ST_Distance_Sphere(s, ST_GeomFromText('POINT(1 1)')) from (SELECT s from road order by c limit 1) as a;
> There are about 7000 records in 'road'.

I think to help here I think we need the EXPLAIN ANALYSE output for
both queries.

Have a nice day,
--
Martijn van Oosterhout <kleptog(at)svana(dot)org> http://svana.org/kleptog/
> He who writes carelessly confesses thereby at the very outset that he does
> not attach much importance to his own thoughts.
-- Arthur Schopenhauer

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dean Rasheed 2014-07-01 19:20:39 Re: RLS Design
Previous Message Tom Lane 2014-07-01 18:52:00 Re: Spinlocks and compiler/memory barriers