Moin!
Tab1 wird nicht mehr geändert. Abfragen laufen komplett über tab (der Mege-Tabelle). Wenn tab1 wirklich niemals mehr angefaßt (update, delete) werden muß, kann man aus ihr sogar eine read-only-Version machen, was die Abfragegeschwindigkeit nochmals erhöht.
Das sehe ich nicht so.
Die Abfragegeschwindigkeit einer read-only-Tabelle ist genauso schnell, wie bei einer normalen Tabelle, auf die keiner schreibend zugreift. Denn die Lesegeschwindigkeit wird nur dadurch gesenkt, dass Schreibzugriffe exklusive Locks benötigen.
Im Sinne einer effizienten Indizierung hingegen will man keine mehrfachen Tabellen mit identischem Datenaufbau, sondern nur eine einzige Tabelle. Der Suchaufwand steigt bei Indizes im allgemeinen logarithmisch zur Datensatzmenge. Und das ist nun mal unschlagbar. Bei einer Gesamtzahl von einer Million Datensätzen:
ld(1e+7) < 2*ld(1e+7/2)) < 4*(ld(1e+7/4)) < 10*(ld(1e+7/10))
Der Suchaufwand, statt in einer Tabelle in zwei halb so großen zu suchen, verdoppelt sich in etwa. Die Indexsuchzeit sinkt in jeder kleineren Tabelle zwar, aber nur unwesentlich, er fällt aber für jede einzelne Tabelle an.
Es ist also immer effizienter, bei indizierter Suche und dem Fokus auf die Gesamtdatenmenge nur EINE Tabelle zu haben. Sofern man Datensätze aufteilen möchte nach "kleine Menge aktuelle, zu bearbeitende Datensätze" und "große Menge unveränderlicher historischer Datensätze", würde das aber dennoch bedeuten, dass die historische Tabelle nicht read-only sein kann, denn ihr werden ja fortlaufend (zumindest zu bestimmten Zeitpunkten) neue historische Datensätze hinzugefügt. Unter diesem Gesichtspunkt erscheint also das Konzept "historische Daten auslagern" schon gar nicht mehr so verlockend, die Daten sollten tatsächlich in einer einzelnen Tabelle verbleiben.
Sofern man dann Probleme mit konkurrierenden Lese- und Schreibzugriffen hat, gibt es auch andere Alternativen, um die Performance hinzukriegen.
Es hängt natürlich davon ab, was man mit den Daten wirklich machen will.
- Sven Rautenberg
"Love your nation - respect the others."