Re: Ignoring index on (A is null), (A is not null) conditions

From: "Cestmir Hybl" <cestmirl(at)freeside(dot)sk>
To: <pgsql-performance(at)postgresql(dot)org>
Subject: Re: Ignoring index on (A is null), (A is not null) conditions
Date: 2003-11-04 10:43:51
Message-ID: 00e201c3a2c0$89409f00$0200a8c0@stratos
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

First of all, thanks for all your suggestions.

They were of two classes:

1. use different data representation (special constant from column domain
instead of NULL)

This is possible, of course, but it makes data model less portable and
requires changes in database abstraction layer of application.

2. use partial indexes

This is suitable for single null-allowed column index. With increasing
number of null-allowed columns inside index, the number of partial indexes
required grows exponentially.

All RDBMSs I ever used (Sybase, MSSQL, or even MySQL) were using index to
filter by expressions containing is NULL conditions /(A is NULL), (A is not
NULL), (A is NULL or A = const), (A is NULL or A > const)/ so it seems
pretty strange to me that PostgreSQL does not.

Is this sheduled feature at least?

CH

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message radha.manohar 2003-11-04 14:49:39 Re: Response time
Previous Message Josh Berkus 2003-11-03 18:41:04 Re: join_collapse_limit, from_collapse_limit options missing