Will anything ever be equal to NULL in a SELECT query?
WHERE somecolumn = NULL;
I have a real-life query like this:
WHERE somecolumn = NULL OR somecolumn = 'abc';
The 'sometable' contains about 40 million records and in this query, it
appears that the where clause is doing a sequential scan of the table to
find a condition where 'somecolumn' = NULL. Shouldn't the query
parser be smart enough to rewrite the above query like this:
WHERE FALSE OR somecolumn = 'abc';
And therefor use the index I have on 'somecolumn'? When I manually
rewrite the query, I get the performance I expect but when I leave it as
it was, it's 100 times slower.
What's so special about NULL?
D. Dante Lorenso