Grosse Datenbank in Filegroups oder in Partitionierten Tabellen aufteilen (DWH)?

22/04/2009 - 08:46 von Volkan Senguel | Report spam
Hallo zusammen, ich bin hier auf das Problem gestossen dass wenn ich grosse
Tabellen mit einigen Millionen Eintràgen abfrage es natürlich sehr lange
dauern kann bis das Ergebnis zurückgeliefert wird.

Ich habe mal bei diversen Seiten nachgelesen und habe dann auch gesehen dass
man Datenbanken in Filegroupsaufteilen und Tabellen partitionieren kann
(Enterprise Version, habe ich da.)

Nun meine Frage, reicht es eine Datenbank in mehreren Filegroups zu
erstellen damit die Performance gesteigert wird, oder sollten gleich die
Tabellen partitioniert werden so dass die Abfragen dann nur die benötigten
Tabellen herziehen... oder beides?


Bei beiden Methoden habe ich aber noch eine Frage zu der ich noch keine
Antwort gefunden habe im Netz, kann mann nachtràglich weiter
Filegroups/Partitions Tabellen zu bestehen hinzufügen ohne diese neu
erstellen zu müssen?

Für alle Anregungen und Infos bin ich dankbar.

Danke
Volkan
 

Lesen sie die antworten

#1 Klaus Last
22/04/2009 - 12:28 | Warnen spam
Hallo Volker,

Du solltest mal Deine SQL-Abfrage analysieren und Idices anlegen.
Alles was in den WHERE Bedingungen steht ist hier relevant.

Ein Index ist eine Kopie der Spalten, allerdings Sortiert abgelegt.
D.H. der SQL-Server kann sehr viel schneller in diesen Daten suchen, weil
sie sortiert vorliegen.

Den Index legt man dann so an wie abgefragt wird. Also Aufsteigend oder
Absteigend. Wenn eher
historische Daten abgefragt werden, sollte veilleicht aufsteigend sortiert
werde usw.

Der Primàrschlüssel ist bei einer Tabelle immer als Index vorhanden. Wenn Du
in Deiner Tabelle also
in der WHERE Bedingung nur den Primàrschlüssel abfragst gehts bestimmt
schnell.

Gruß Klaus



"Volkan Senguel" schrieb im Newsbeitrag
news:
Hallo zusammen, ich bin hier auf das Problem gestossen dass wenn ich
grosse Tabellen mit einigen Millionen Eintràgen abfrage es natürlich sehr
lange dauern kann bis das Ergebnis zurückgeliefert wird.

Ich habe mal bei diversen Seiten nachgelesen und habe dann auch gesehen
dass man Datenbanken in Filegroupsaufteilen und Tabellen partitionieren
kann (Enterprise Version, habe ich da.)

Nun meine Frage, reicht es eine Datenbank in mehreren Filegroups zu
erstellen damit die Performance gesteigert wird, oder sollten gleich die
Tabellen partitioniert werden so dass die Abfragen dann nur die benötigten
Tabellen herziehen... oder beides?


Bei beiden Methoden habe ich aber noch eine Frage zu der ich noch keine
Antwort gefunden habe im Netz, kann mann nachtràglich weiter
Filegroups/Partitions Tabellen zu bestehen hinzufügen ohne diese neu
erstellen zu müssen?

Für alle Anregungen und Infos bin ich dankbar.

Danke
Volkan

Ähnliche fragen