Waleed, The answer is staring you right in the face, namely "column1 is null". Nulls do not get into indexes therefore the only way to find them is with a full table scan. And if your going to go through all the trouble of scanning the whole table in the first place, what sense does an index scan for any other part of the query make. -----Original Message----- From: Khedr, Waleed [mailto:Waleed.Khedr@xxxxxxx]=20 Sent: Monday, March 07, 2005 11:38 AM To: oracle-l@xxxxxxxxxxxxx Subject: Stop Criteria for Sql Execution=20 Why does Oracle have to execute the sql and scan data in a table for a sql like this: Select * from table Where column1 is null and column1=3D3D10 Or=3D20 Select * from table Where column1=3D3D10 and column1=3D3D20 All the research money going to optimize the optimizer, and still can't take care of simple stuff like this. Am I missing something? I will probably start searching for smarter databases :) Waleed -- //www.freelists.org/webpage/oracle-l -- //www.freelists.org/webpage/oracle-l