what makes it efficient? Indexes
so all you need to do is to let them be indexable..
which means you cant use any wrapper function around your date and datetime fields(like converting them to string or integer)
there are some harmless exceptions like DateAdd(). while seeking range its still range..
so using
DateTime >= Date AND DateTime < DATEADD(DAY, 1, Date)
is fine..
and i d never use anything like;
WHERE CAST(DateTimeColumn AS DATE) = DateColumn