¿Alguien tiene un buen árbol de decisión para decidir cuándo usar una vista y cuándo usar una función con valores de tabla en SQL Server?¿Vista del servidor SQL o función de valor de tabla?
Respuesta
Hay ciertas cosas que no puede hacer en una vista (como variables de tabla, resultados intermedios antes de devolver el conjunto de resultados, etc.) ... si no las necesita, vea, si lo hace , sproc/udf :-)
Ok, daré el uso que hacemos. Tenemos las tablas, pero nunca accedemos a las tablas, sino a las vistas sobre las tablas. Es solo un problema de seguridad.
Aunque cualquier vista se puede convertir casi trivialmente en una función en línea con valores de tabla, lo contrario no es cierto.
Si la construcción necesita ser parametrizada, entonces use una función en línea con valores de tabla. Las funciones de valores de tabla en línea son básicamente vistas parametrizadas en términos de que el optimizador puede combinarlas con vistas e impulsar las cosas. Las funciones con valores de tabla multi-enunciados no se parecen en nada a las funciones en línea con valores de tabla.
Si no puede hacerlo con una función en línea con valores de tabla, use una función de valores de tabla multi-instrucción.
- 1. Parámetro del valor de la tabla del Servidor SQL Php
- 2. Tabla temporal del servidor Sql
- 3. reutilizar sql con vista o función
- 4. Servidor SQL: UDF de valor de tabla en línea frente a vista en línea
- 5. Servidor SQL notifica al servidor web del cambio de tabla
- 6. Estadísticas de uso de la tabla del servidor Sql
- 7. Vistas del servidor SQL, bendición o maldición?
- 8. Dependencias del Servidor SQL
- 9. Vista SQL vs tabla derivada
- 10. newid() dentro de la función de servidor sql
- 11. Índice filtrados del servidor SQL
- 12. Descodificación de URL del servidor SQL
- 13. ¿La función ISNULL() del servidor Sql está floja/en cortocircuito?
- 14. SQL tema de la identidad del servidor
- 15. función de servidor SQL error de parámetro nativo se unen
- 16. SQL Unirme a la función de tabla con tabla donde campo de tabla es una entrada de función
- 17. de instrucciones múltiples valores de tabla Función vs Inline Tabla función de valor
- 18. Rendimiento del servidor SQL: tabla derivada frente a la expresión de tabla común (CTE)
- 19. crear tabla de Vista
- 20. SQLite para vista de tabla personalizada de Android (vista SQL, no vista de Android) discrepancia?
- 21. SQL Unirse a la tabla Un valor dentro del rango de la Tabla B
- 22. valor de retorno 2008 del servidor SQL sql acortado al usar ISNULL y NULLIF
- 23. es de transacción del servidor SQL atómica
- 24. CREAR O SUSTITUIR VISTA error de SQL
- 25. Límite de registro de tabla temporal en el servidor Sql
- 26. Servidor sql equivalente de una función de agregado COUNTIF
- 27. No se puede insertar la tabla del servidor decimal a sql a través del código C#
- 28. ¿Cuál es la capacidad del servidor MS SQL similar a la función FIELD() de MySQL?
- 29. Servidor SQL, usando una tabla como cola
- 30. ¿Ejecuta la función de valor de tabla en varias filas?
Tal vez, podría volver a formular la pregunta. Puedo lograr fácilmente lo que necesito hacer usando una función de vista o tabla. ¿La regla general para usar una vista entonces? – Striker
Sí, si es una vista normal real y no está utilizando trucos de fantasía como OPENROWSET o CONTEXT_INFO. –
Véase también [función de valor de tabla frente a vista] (http://stackoverflow.com/questions/4960137/table-valued-function-vs-view/4960468#4960468) –