There could be many rows for shiftdate > today in the table. The first query will process those rows also, where as the second one filters them. So processing time is...
I normally use isnull(id2,-1)=-1 ( when it is a numeric) or isnull(id4,'---')='---' (where id4 is a string and '---' is an impossible value) instead of where id2 is null. Is...