View vs. Join w MsSqlServer

0

Witam.
Mam mały dylemacik z tym, czy wydajniejsze (w bazie SQL Server 2008 R2) są widoki do łączenia tabel (z tego co mnie uczono, widok generuje jakby statycznie osobną tabele, a nie dynamicznie jak join, nie wiem ile w tym prawdy) czy standardowy join, aby połączyć dane (join niby robi to w locie). W moim przypadku byłyby to 3-4 tabele podczas selectowania. Obecnie tabela (do której będę "doklejał" odpowiednie kawałki) ma 10 rekordów, ale docelowo powiększy się do ok. 10-12 tys. Zależy na wydajności, niż na przejrzystości zapytania.
Jak to w końcu jest? A może ktoś zna jakieś fajne źródło opisujące oba mechanizmy? Będę wdzięczny za pomoc.

0

jeśli jest to zwykły widok a nie indexed view to nie powinno być różnicy ponieważ w zwykłym widoku dane nie są nigdzie składowane

0

W jaki sposob pojawiaja sie dane?
Czy jest to np baza do ktorej materializowane sa wartosci na potrzeby raportow np codziennie o 23.
Jesli tak to po przejsciu na SQL 2012 masz do dyspozycji cos co sie nazywa columnstore index.
Minus rozwiazania - przed materializacja trzeba takie indexy usunac.

Wszystko zalezy od tego jak to zapytanie napiszesz.
Poczytaj o inline table valued function , inline scalar function oraz o technikach index covering.

PS dane mozna wyrzucic do innej filegroupy. Mozne tez zaklasac indexy ograniczajace np WHERE COLUMN_1 = 1024

1 użytkowników online, w tym zalogowanych: 0, gości: 1