Pregunta

Tengo algunas columnas calculadas de dos tipos:

  1. Las columnas calculadas sobre la base de las columnas de la tabla actual (es decir Precio * Impuestos)
  2. Las columnas calculadas en base a otros columnes (es decir Precio * fn_GetTax (OrderId))

¿Le diría que es mejor utilizar estas columnas en CLR en el cliente solamente y luego guardar desde el servidor de cálculo y el rendimiento de la transferencia? ¿Varía en los tipos mencionados anteriormente (y otros tipos)?

¿Fue útil?

Solución

Me gustaría tratar de hacer que las columnas calculadas parte de sus tablas SQL - si el esfuerzo necesario para hacerlo no es extravagante

.

Si usted tiene cálculos bastante simples, o las búsquedas, o algo por el estilo - poner los de la tabla de SQL directamente. De esta manera, están disponibles incluso si tiene que consultar la tabla (s) con T-SQL u otra herramienta de acceso a su base de datos SQL Server, y son muy probablemente mucho más rápido (especialmente si usted puede hacer que PERSISTED) .

Si usted tiene requisitos más elaboradas, si necesita extensa cadena, matemáticas, o la manipulación fecha, etc., usted es probablemente mejor de poner esos cálculos en un lenguaje .NET. Puede almacenar ya sea que como un conjunto de CLR en SQL Server y todavía lo hacen las columnas de SQL Server directamente (si es probable que una reutilización por otros equipos o proyectos), o se puede poner aquellos en su modelo de EF si es probable que sea el único interesado en esas columnas calculadas.

La esperanza que arroja un poco de luz sobre su pregunta!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top