2009-07-21 11 views
0

Bitte geben Sie Richtlinien an, wann DSVs anstelle von Datenbankansichten verwendet werden sollen. Irgendein Leistungsproblem, das eins gegen das andere benutzt?DSV (Named Query) vs. Datenbankansicht

Environment: SQL Server 2008

Antwort

1

Der einzige wirkliche Unterschied ist, dass man Index einen Blick, so dass Sie eine bessere Leistung aus ihm heraus zu bekommen. Ich werfe wirklich nur einen Blick auf die DB, wenn es für SSRS ist. Wenn es für SSAS ist und nachts verarbeitet wird, definiere ich die Abfrage in SSAS, nur so, dass alles an einem Ort ist. Außerdem ist es viel einfacher, den DSV zu versionieren als in der Ansicht in der Datenbank. Wenn Sie also Ihre Änderungen rückgängig machen müssen, ist das ganz einfach.

Daher: Wenn Leistung am wichtigsten ist, verwenden Sie eine Ansicht. Wenn Wartbarkeit am wichtigsten ist, verwenden Sie eine benannte Abfrage. Das ist zumindest meine Faustregel.

+3

Beachten Sie, dass nur die Enterprise Edition die indizierte Sicht nutzt. Nicht-Enterprise-Editionen erweitern die Ansichtsdefinition und ignorieren den Index, so dass sie gezwungen werden müssen, sie zu verwenden, indem sie die WITH NOEXPAND-Klausel hinzufügen: http://msdn.microsoft.com/en-us/library/ms181151.aspx –

+0

Danke für deinen Beitrag – Ganesha