Lets say on tbDeposits I have a Index that is on both depositdue and deposit paid
why does this statement
Select * from tbDeposits Deposits where Deposits.DateDue IS NOT NULL
AND Deposits.DatePaid IS NULL
have 2 table scans in it? one for 83 percent?
A NULL value is 'unknown' and cannot be efficiently indexed.
Any time you are trying to find the absence of something, you have to look at everything you have to see if it is missing. That may require a table scan or it may require an index scan. (IF it is the clustered index key, then an index scan is still a table scan.)
sql
No comments:
Post a Comment