Me gustaría preguntarle su opinión cuando se trata de implementar un formulario de búsqueda filtrado. Imaginemos el siguiente caso:
- 1 mesa grande con muchas columnas
- Podría ser importante decir que este servidor SQL
Debe implementar un formulario para buscar datos en esta tabla, y en este formulario tendrá varias casillas de verificación que le permitirán personalizar esta búsqueda.
Ahora mi pregunta aquí es ¿cuál de las siguientes debería ser la mejor manera de implementar la búsqueda?
-
Crea un procedimiento almacenado con una consulta dentro. Este procedimiento almacenado verificará si la aplicación proporciona los parámetros y, en caso de no recibirlos, se colocará un comodín en la consulta.
-
Cree una consulta dinámica, que se construya de acuerdo con lo que proporciona la aplicación.
Lo pregunto porque sé que SQL Server crea un plan de ejecución cuando se crea el procedimiento almacenado, para optimizar su rendimiento. Sin embargo, al crear una consulta dinámica dentro del procedimiento almacenado, sacrificaremos la optimización obtenida por plan de ejecución?
Por favor, dígame cuál sería el mejor enfoque en su opinión.