Viste Vs StoredProcedure

martedì 13 marzo 2007 - 02.56

nullatore Profilo | Junior Member

Non credo di dire una cosa errata se affermo che tutto quello che si puo' fare con una Vista puo' essere tranquillamente fatto con una StoredProcedure (e non il contrario).
Ma se è questo è vero, allora a che servono le Viste? Vedendo ad esempio il codice di un mio amico, mi accorgo che tutto quello che io ho implementato con delle viste, lui lo ha implementate con delle StoredProcedure.
Qual'è il modo migliore (se esiste) / pulito / corretto?

Grazie.

P.s. Non so se può servire ma io uso MsSql2005

amelix Profilo | Expert

Io uso le viste per esigenze "clientelari" e/o per fare stored procedure che devono avere lo stesso tipo di risultato.

Cmq preferisco le SP che sono molto più veloci.
Andrea
http://www.MelisWeb.eu/

alx_81 Profilo | Guru

@nullatore:

>Non credo di dire una cosa errata se affermo che tutto quello che si puo' fare con una Vista puo' essere tranquillamente fatto con una >StoredProcedure (e non il contrario).
Questo perchè, per definizione le viste sono non più di tabelle virtuali, mentre le stored procedure sono appunto procedure, in cui vi sono logiche di programmazione ed in cui possono essere quindi utilizzati costrutti come cicli, condizioni, ecc.. in cui puoi controllare il flusso dati o il flusso di lavoro, in cui puoi impostare parametri e utilizzare variabili.

>Ma se è questo è vero, allora a che servono le Viste?
se non hai la necessità di salvarti un piano di esecuzione di una query, se non hai l'esigenza di applicare particolari controlli o logiche sui dati, se non ti servono parametri, se ti basta relazionare, filtrare, aggregare dati su una o più tabelle (anche residenti su db diversi), allora utilizza una vista.
In caso contrario una stored procedure o una user defined function.
Di solito riduco al minimo l'utilizzo di viste, per dare spazio alle stored procedure.

@amelix e nullatore:
leggete questo post di Davide Mauri:
http://blogs.ugidotnet.org/nettools/archive/2006/11/12/54508.aspx

ciao!


Alx81 =)

http://blogs.dotnethell.it/suxstellino
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5