Re: NULLS LAST performance - Mailing list pgsql-performance

From Jim Nasby
Subject Re: NULLS LAST performance
Date
Msg-id D545D31B-1CCA-49A5-8231-99F0A8EB9047@nasby.net
Whole thread Raw
In response to Re: NULLS LAST performance  (Mathieu De Zutter <mathieu@dezutter.org>)
Responses Re: NULLS LAST performance  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-performance
On Feb 24, 2011, at 3:47 AM, Mathieu De Zutter wrote:
> > which will index optimize your sql.  Interesting that 'null last'
> > fools disallows index usage even when the index was created with
> > nullls last as the default.
>
> The problem is that his query needs to scan the index in DESC order,
> which means it's effectively NULLS FIRST, which doesn't match the
> requested sort order.
>
> Merlin, Tom,
>
> Thanks for explaining the behavior!
>
> Any chance that the planner could get smarter about this? In my naive view, it would just be telling the planner that
itcan disregard "NULLS" when searching for an index, in case the column is known to be NOT NULL. 

Unfortunately, I don't think the planner actually has that level of knowledge.

A more reasonable fix might be to teach the executor that it can do 2 scans of the index: one to get non-null data and
asecond to get null data. I don't know if the use case is prevalent enough to warrant the extra code though. 
--
Jim C. Nasby, Database Architect                   jim@nasby.net
512.569.9461 (cell)                         http://jim.nasby.net



pgsql-performance by date:

Previous
From: Conor Walsh
Date:
Subject: Re: Slow join on partitioned table
Next
From: Samba GUEYE
Date:
Subject: Re: Table partitioning problem