Is there any difference in performance between the operator IS NULL
and the function ISNULL()
?
Looking into the MySQL manual, they seem to be synonyms really.
MySQL manual on IS NULL
MySQL manual on ISNULL()
and even if they aren't, I would tend to trust the query optimizer to pick the best solution.
This thread is similar, though not exactly on MySQL. According to the test shown there:
IS NULL
is more efficient as it doesn't require a scan.
Seek is generally faster than a scan as it only includes qualifying records, while scan includes every row. It is explained in more detail here.
Another difference (though it's not performance) is their negation syntax:
IS NOT NULL /* using NOT operator */
! ISNULL() /* using exclamation mark */