29. April 2008 ı NAV ı NAV50SP1 ı SQLOption

Indexed Views NAV5.0 SP1 – SIFT Technologie

Hallo zusammen!

Tja, lange Zeit war die SIFT Technologie und ihre Vorteile (und somit Nachteile), im Zusammenhang mit dem SQL Server als Datenbank Option natürlich brandheißes Thema Nummer eins, wenn es um Performance beim buchen ging.

NAV5.0 SP1 (oder 5.00.01) soll, und wird hier endlich Abhilfe schaffen. Das „Zauberwort“ heißt „Indexed Views“ anstelle von SIFT Tabellen am SQL Server.

Also ade mit den CRONUS_AG$21$0 etc. Tabellen.

Sehr gerne brachte, und bringe ich bei meinem Präsentationen immer folgendes Rechnungsbeispiel dazu:

1 Verkaufsrechnung
->1 Kunde (klar :D)
->1 Artikel

Erzeugt sagen wir mal als Beispiel
3 Sachposten
1 Debitorenposten
1 Detail. Debitorenposten
1 Mwst. Posten
1 Artikelposten
1 Wertpostene
etc… (naja abhängig vom Geschäftsfall)

Diese 5 Postentabellen werde alle zusammen ca. durchschnittlich ihre 10 Schlüssel haben.

Davon haben wahrscheinlich 3-4 SumIndexFields, welche wiederum
3-4 Schlüsselfelder, mit 3-4 SumindexFields sein werden.
(noch dabei :D?)

Das wären also

3 Sachposten x (4 Schlüssel x 3 Schlüsselfelder x 3 SumIndexFelder) = ~ 40 Datensätze nur für eine bestimmte Postentabelle bei dieser „Mini“ Rechnung
(ok ich habe die Bucketserklärung weggelassen und ein wenig gerundet., aber die Realität liegt sehr nahe dran)

Natürlich kostest dies beim Buchen entsprechende andere Peformance.

NAV5.0 SP1 schafft abhilfe und ersetzt diese SIFT Tabellen durch Index Views:

Das wäre dann die optische Gegenüberstellung:

NAVIndexedViews

Was ist nun eine Index View:

Hier greife ich am besten auf die Onlineerlklärung der SQL Server Books zurück:

“An indexed view is similar to a normal SQL Server view except that the contents have been materialized (computed and stored) to speed up the retrieval of data”

Wenn man also von dem Umstand noch absieht das es eine IndexedView ist, könnte man sagen:

„ein Abfragekonstrukt das die Daten vorab nicht vollständig physisch speichert sondern kumuliert“

(Kleiner Tipp : Rechte Maustaste am SQL Server auf die indexedview und anzeigen des SQL Codes zeigt das es eigentlich eine „simple Abfrage“ ist!)

Somit Ade Performance Verlust beim buchen.

Da beste daran, DIESEN Perfomance Vorteil „gewinnt“ man bereits mit einem technischen Upgrade. Die Datenbank wird dabei automatisch konvertiert.

LG

Rene

PS
Noch zu erwähnen ware dass diese Views „sprechende“ Namen haben und somit mit Tools wie Reporting Services besser anzusprechen sind.


Kommentare sind geschlossen.

zurück