Algunos artículos que encontré en Internet compararon ISNULL con COALESCE, por lo que creo que mi pregunta es un poco diferente.COALESCE vs IS NOT NULL rendimiento en la comprobación de cadena vacía
Me pregunto cuál es mejor en términos de rendimiento?
SELECT * FROM mytable WHERE mycolumn IS NOT NULL AND mycolumn <> '';
O
SELECT * FROM mytable WHERE COALESCE(mycolumn,'') <> '';
Aparte de rendimiento, ¿hay otras preocupaciones que debería considerar al decidir?
EDIT:
estoy usando Teradata.
Como una pregunta de seguimiento, si supiéramos que se usará un índice, podríamos optimizar automáticamente el sql (detrás de las escenas) y traducir COALESCE (mycolumn, '') <> '' en mycolumn NO ES NULL y mycolumn <> ''. ¿Estoy teniendo sentido? – Russell
Creo que puede encontrar que NUSI no se puede usar para satisfacer una comparación de desigualdad. Vale la pena mirar el EXPLAIN para confirmar si el optimizador está usando o no el NUSI. –