colonne calcolate: SQL o localmente in Entity Framework?
-
19-09-2019 - |
Domanda
ho alcune colonne calcolate di due tipi:
- colonne calcolate sulla base di colonne nella tabella corrente (cioè Prezzo * Tax)
- colonne calcolate sulla base di altre columnes (cioè Prezzo * fn_GetTax (OrderId))
Si può dire che è meglio utilizzare queste colonne nel CLR sul client solo e quindi salvare dal server di calcolo e le prestazioni di trasferimento? Ha variano nei tipi di cui sopra (e di altri tipi)?
Soluzione
vorrei cercare di rendere le colonne calcolate una parte del tuo tabelle SQL - se lo sforzo necessario per farlo non è scandaloso
.Se si dispone di calcoli abbastanza semplici, o le ricerche, o qualcosa del genere - mettere quelli della tabella SQL direttamente. In questo modo, sono disponibili anche se è necessario interrogare la tabella (s) con T-SQL o un altro strumento accedere al proprio database di SQL Server, e sono molto probabilmente un bel po 'più veloce (soprattutto se è possibile farli MANTENUTO) .
Se avete requisiti più elaborati, se avete bisogno di vasta stringa, la matematica, o la data di manipolazione, ecc, probabilmente siete meglio mettere quei calcoli in un linguaggio .NET. È possibile memorizzare che, come un assembly CLR in SQL Server e fanno ancora le colonne in SQL Server direttamente (se un riutilizzo da altri team o progetti è probabile), o si potrebbe mettere quelli nel modello EF se è molto probabile che sia l'unico interessati a tali colonne calcolate.
La speranza che getta un po 'di luce sulla tua domanda!