Ver Mensaje Individual
  #16  
Antiguo 11-03-2012
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Reputación: 24
guillotmarc Va por buen camino
Hola.

Cita:
Empezado por mightydragonlor Ver Mensaje
Claro que se puede, pero yo considero que no deba ser así, ya que usar este tipo de funciones hacen que las consultas sean mas lentas, llegando incluso a hacer table scan, así que el desempeño se ve claramente afectado, suelo usar el coalesce para la selección, pero lo trato de evitar al máximo en los where.
Yo no tengo ninguna norma fija, depende del caso los uso sin problemas en los WHERE. Todo depende de la consulta, registros involucrados en el filtro, etc. ...

Pero sí, tienes razón en que algunas ocasiones (al igual que con cualquier otra consulta donde no añadas índices para su optimización) puede verse muy afectado el rendimiento. Y como siempre, la solución es simplemente añadir un índice para que el motor pueda optimizar adecuadamente esa consulta, en este caso sería un índice sobre una expresión :

CREATE INDEX APUNTES_FAMILIA ON APUNTES COMPUTED BY (COALESCE(FAMILIA, ''));
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita