Este hilo es similar, aunque no exactamente en MySQL. De acuerdo con la prueba que se muestra allí:
IS NULL
es más eficiente ya que no requiere un escaneo.
La búsqueda generalmente es más rápida que un escaneo, ya que solo incluye registros calificados, mientras que el escaneo incluye todas las filas. Se explica con más detalle aquí .
Otra diferencia (aunque no es el rendimiento) es su sintaxis de negación:
IS NOT NULL /* using NOT operator */
! ISNULL() /* using exclamation mark */