Estoy trabajando en una aplicación para obtener datos de un servidor MS-SQL (2005). En el texto de comando, puedo pasar una consulta SQL como esto:¿Usar SQL View o SQL Query?
string query = "SELECT T1.f1, T1.f2, T2.f3 FROM table1 T1 join table2 T2" +
"on T1.id = T2.id AND T1.dt = T2.dt ..."
....
cmd.CommandText = query;
también pude poner la consulta como una visión en mi servidor SQL como esto:
CREATE VIEW V1 AS
"SELECT T1.f1, ..."
entonces puedo usar la vista en una consulta simplificada como esta:
string query = "SELECT f1, f2, f3 FROM V1";
....
cmd.CommandText = query;
No estoy seguro de cuál es la mejor manera. ¿Será la vista más rápida que una consulta SQL? Por cierto, la consulta que muestro aquí es una simplificada. La consulta real SELECT es más complicada.
El inconveniente es que tiene que implementar y versionar su vista en sincronización con el código del cliente. –
Dudo en hacer este consejo genérico. Una vista es ideal para consultas comunes, pero nunca debe ser la primera respuesta. He visto un montón de DB con 300 vistas, y (innecesaria) vistas sobre las vistas porque, "¡Las vistas son más rápidas!" Solo es cierto si usa vistas * bien *. Solo use buena prudencia al construir vistas. – Eric
* suspiro * Las vistas NO funcionan más rápido que las consultas. Las vistas y consultas se resuelven en la misma situación. – RBarryYoung