Hallo,
ich habe gelesen (und auch mit anderen Projekten die Erfahrung gemacht), dass breite Tabellen (insbesonere über 8000 Bytes) auf Kosten der Performanz gehen und man logische Datensätze auf mehrere Tabellen aufteilen sollte.
Hier geht es zunächst um zwei Tabellen (eines Datensatzes mit insgesamt 3 Tabellen) mit jeweils etwa 100 Feldern und jeweils etwa 1000 Bytes Breite. Es fallen sofort 250.000 Datensätze an und monatlich kommen 100.000 dazu.
Ggf. können noch einige Felder (100? = 1000 Bytes?) in der Zukunft hinzukommen.
Mein Problem sind Update-Kommandos über einen Bestand von 100.000 Datensätzen, wenn zwei Felder darin vorkommen, die in verschiedenen Tabellen liegen. Die beiden Tabellen sind bisher mit 3 Schlüsselfeldern (IDNr, Datum, ProjektNr) und einzelnen nicht gruppierten Indexen verknüpft. So ein Update-Kommando dauert 30 Minuten. Wenn die Quell- und Zielfelder in einer Tabelle liegen, dauert es nur 1 Minute!
Die Updates beinhalten als Quellwerte Summenbildung über Gruppen und einige Joins in Views.
Ich denke, der Vorteil einer Kombination der beiden Tabellen liegt auf der Hand,
zumal auch einigeIndexe eingespart werden können.
Einen Test durchzuführen kostet mich sehr viel Zeit, denn ich müsste im positiven Fall ja noch die bisherigen Entwicklungen umbauen.
Mein Wochenende habe ich jedenfalls schon dafür verplant:-)
Kann mir jemand bitte einen Tipp geben. Welche Erfahrung habt Ihr gemacht?
Vielen Dank im Voraus!
Alleinkämpfer Rambo:-)
ich habe gelesen (und auch mit anderen Projekten die Erfahrung gemacht), dass breite Tabellen (insbesonere über 8000 Bytes) auf Kosten der Performanz gehen und man logische Datensätze auf mehrere Tabellen aufteilen sollte.
Hier geht es zunächst um zwei Tabellen (eines Datensatzes mit insgesamt 3 Tabellen) mit jeweils etwa 100 Feldern und jeweils etwa 1000 Bytes Breite. Es fallen sofort 250.000 Datensätze an und monatlich kommen 100.000 dazu.
Ggf. können noch einige Felder (100? = 1000 Bytes?) in der Zukunft hinzukommen.
Mein Problem sind Update-Kommandos über einen Bestand von 100.000 Datensätzen, wenn zwei Felder darin vorkommen, die in verschiedenen Tabellen liegen. Die beiden Tabellen sind bisher mit 3 Schlüsselfeldern (IDNr, Datum, ProjektNr) und einzelnen nicht gruppierten Indexen verknüpft. So ein Update-Kommando dauert 30 Minuten. Wenn die Quell- und Zielfelder in einer Tabelle liegen, dauert es nur 1 Minute!
Die Updates beinhalten als Quellwerte Summenbildung über Gruppen und einige Joins in Views.
Ich denke, der Vorteil einer Kombination der beiden Tabellen liegt auf der Hand,
zumal auch einigeIndexe eingespart werden können.
Einen Test durchzuführen kostet mich sehr viel Zeit, denn ich müsste im positiven Fall ja noch die bisherigen Entwicklungen umbauen.
Mein Wochenende habe ich jedenfalls schon dafür verplant:-)
Kann mir jemand bitte einen Tipp geben. Welche Erfahrung habt Ihr gemacht?
Vielen Dank im Voraus!
Alleinkämpfer Rambo:-)
Comment