Есть ли разница в производительности между оператором IS NULL
и функцией ISNULL()
?
Различия между "IS NULL" и "ISNULL()" в Mysql
Ответ 1
Взглянув в руководство MySQL, они, похоже, действительно являются синонимами.
и даже если это не так, я бы склонен доверять оптимизатору запросов, чтобы выбрать лучшее решение.
Ответ 2
Этот поток похож, хотя и не совсем на MySQL. Согласно показанному тесту:
IS NULL
более эффективен, так как он не требует сканирования.
Ищите, как правило, быстрее, чем сканирование, поскольку оно включает только квалификационные записи, в то время как сканирование включает в себя каждую строку. Это объясняется более подробно здесь.
Другим отличием (хотя это не производительность) является их синтаксис отрицания:
IS NOT NULL /* using NOT operator */
! ISNULL() /* using exclamation mark */