Ho intenzione di darti una mezza risposta perché non posso essere sicuro di ciò che è meglio in termini di prestazioni, mi dispiace. Ma poi altre persone hanno sicuramente ricevuto buoni consigli su quel punteggio, ne sono certo.
Attaccherò alla parte della domanda "pratica comune".
Quindi, una funzione scalare del legno mi sembra una soluzione naturale in questo caso. Perché, vuoi solo un valore, un valore intero da restituire - questo è ciò per cui le funzioni scalari servono, no?
Ma poi, se potessi vedere una probabilità che più tardi avrei bisogno di più di un valore, potrei quindi considerare di passare a un TVF. Poi di nuovo, cosa succede se hai già implementato la tua funzione scalare e l'hai usata in molti punti della tua applicazione e ora hai bisogno di una riga, una colonna o una tabella di valori da restituire utilizzando fondamentalmente la stessa logica?
A mio avviso (nessun gioco di parole previsto), una vista potrebbe diventare qualcosa come il massimo comune divisore per le funzioni scalari e con valori di tabella. Le funzioni dovrebbero solo applicare i parametri.
Ora avete detto che state solo pensando di scegliere quale opzione usare. Tuttavia, considerando quanto sopra, continuo a pensare che le viste possano essere una buona scelta e si dimostrino utili quando ridimensionate la vostra applicazione, e potreste effettivamente utilizzare sia le viste che le funzioni (se solo ciò non ha turbato troppo le prestazioni) proprio come ho descritto.
fonte
2011-01-27 08:15:21
Una vista può restituire un risultato a riga singola a colonna singola. Non è un caso normale, ma è probabilmente ancora più efficiente delle UDF scalari. Modifica - Ah, stavi interrogando l'aspetto della parametrizzazione. Ho pensato che sarebbe stato un predicato sulla vista. –
Posso aderire alla vista e limitare i risultati in base a una clausola where – amateur
Normalmente si "passano" parametri in una vista con una clausola where – Andomar