On Mon, Jul 25, 2005 at 07:06:46PM -0300, Marc G. Fournier wrote:
> 
> 
> On Mon, 25 Jul 2005, Jim C. Nasby wrote:
> 
> >On Mon, Jul 25, 2005 at 06:11:08PM -0300, Marc G. Fournier wrote:
> >>
> >>Just curious as to whether or not a warning or something should be issued
> >>in a case like:
> >>
> >>  SELECT c.*
> >>    FROM company c, company_summary cs
> >>   WHERE c.id = cs.id
> >>     AND cs.detail = 'test'
> >>ORDER BY cs.fullname;
> >>
> >>Unless I'm missing something, the ORDER BY clause has no effect, but an
> >>EXPLAIN shows it does take extra time, obviously ...
> >
> >Uh, I'd hope it had an effect. Note that RDBMSes have been moving
> >towards allowing fields in ORDER BY that aren't in the SELECT list,
> >though in the past it was common that anything in ORDER BY had to also
> >be in SELECT.
> 
> 'k, in the test case I've been working with, the query always returns 1 
> row, so my test case wouldn't have shown a difference ... but, if it does 
> have an affect, how?  The ORDER BY is on the final result set, and if 
> there is no cs.fullname in that result, what exactly is it ordering?
 
decibel=# select usename, usesysid from pg_user;
 usename  | usesysid 
----------+----------
 postgres |        1
 decibel  |      100
(2 rows)

decibel=# select  usesysid from pg_user order by usename;
 usesysid 
----------
      100
        1
(2 rows)

decibel=# explain analyze select  usesysid from pg_user order by usename;
                                                QUERY PLAN                      
                          
----------------------------------------------------------------------------------------------------------
 Sort  (cost=1.02..1.02 rows=1 width=68) (actual time=0.182..0.183 rows=2 
loops=1)
   Sort Key: pg_shadow.usename
   ->  Seq Scan on pg_shadow  (cost=0.00..1.01 rows=1 width=68) (actual 
time=0.060..0.077 rows=2 loops=1)
 Total runtime: 0.518 ms
(4 rows)

decibel=# 
-- 
Jim C. Nasby, Database Consultant               [EMAIL PROTECTED] 
Give your computer some brain candy! www.distributed.net Team #1828

Windows: "Where do you want to go today?"
Linux: "Where do you want to go tomorrow?"
FreeBSD: "Are you guys coming, or what?"

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

               http://archives.postgresql.org

Reply via email to