1: A full table scan, checking each row individually
2: A temporary table gets built by scanning the real table, and applying the conditions. Then, a simplified version of the query is done on the temporary table, and the result returned, followed by the temporary table being discarded
e.g. if you want to do multiple calculations or different clauses, it will apply those calculations and store the result in a new table, then do the same query minus the calculation on the new table
but the general issue, is the not
part
you always want to ask a DB for what you want, never for what you do not want
they're built and optimised for finding things
that's why a post meta key named show_on_homepage
is always faster than hide_from_homepage