Sto lavorando a un'applicazione per ottenere dati da un server MS-SQL (2005). Nel testo del comando, posso passare una query SQL come questo:Usa SQL View o SQL Query?
string query = "SELECT T1.f1, T1.f2, T2.f3 FROM table1 T1 join table2 T2" +
"on T1.id = T2.id AND T1.dt = T2.dt ..."
....
cmd.CommandText = query;
ho potuto anche mettere la query come una vista sul mio server SQL come questo:
CREATE VIEW V1 AS
"SELECT T1.f1, ..."
allora posso utilizzare la vista in una query semplificata come questa:
string query = "SELECT f1, f2, f3 FROM V1";
....
cmd.CommandText = query;
Non sono sicuro quale sia la via migliore. La vista sarà più veloce di una query SQL? A proposito, la query che mostro qui è semplificata. La query effettiva SELECT è più complicata.
Il lato negativo è che è necessario distribuire e versionare la visualizzazione in sincronia con il codice client. –
Esiterei a fare questo consiglio generico. Una vista è ottima per le domande comuni, ma non dovrebbe mai essere la prima risposta. Ho visto molti DB con 300 visualizzazioni e visualizzazioni (inutili) in cima alle visualizzazioni perché "Le visualizzazioni sono più veloci!" È vero solo se usi le viste * bene *. Usa la buona prudenza quando costruisci le viste. – Eric
* sigh * Views NON eseguono più velocemente delle query. Visualizzazioni e query risolvono la stessa cosa. – RBarryYoung