Ich bin derzeit in einer Performance-Tuning-Übung. Die Anwendung ist DB-intensiv mit sehr wenig Verarbeitungslogik. Die Leistungsoptimierung erfolgt in etwa so, wie DB-Aufrufe gemacht werden und die DB selbst.Sicherstellung der Datenbank-Performance als Datenvolumen erhöht
Wir haben die Abfrage tuning, Wir setzen die fehlenden Indizes, Wir reduziert oder eliminiert DB-Aufrufe, wo immer möglich. Die Anwendung läuft sehr gut und alles ist in Ordnung.
Mit kleineren Datenvolumen (sagen wir bis zu 100.000 Datensätze) ist die Leistung fantastisch. Meine Frage ist, was getan werden muss, um eine so gute Leistung bei höheren Datenmengen zu gewährleisten? Die Datenmengen werden voraussichtlich 10 Millionen Datensätze erreichen.
Ich kann mir eine Tabellen- und Indexpartitionierung vorstellen, die auf Dateisysteme hinweist, die für den DB-Speicher und die periodische Archivierung optimiert sind, um die Anzahl der Zeilen in Schach zu halten. Ich würde gerne wissen, was noch getan werden könnte. Irgendwelche Tipps/Strategien/Muster wären sehr hilfreich.
Das Problem mit Mock-Daten, die ich sehe, ist die Vielfalt der Werte vor allem auf den Indizes Spalten. Wenn es nicht die Art und Weise widerspiegelt, wie reale Daten verteilt werden, kann ich die Ergebnisse nicht ernst nehmen. Aber ja, wir würden sowieso die gefälschten Daten erstellen. – Sathya
Sie können bereits die Verteilung von realen Daten basierend auf den aktuellen realen Daten berechnen, die Sie haben. Sie können dann Testdaten mit den gleichen Verteilungsmerkmalen erzeugen. Sie erwähnen die Vielfalt der Werte in Indexspalten. Ich verstehe nicht, warum Sie die aktuelle Verteilung nicht berechnen und dann Testdaten mit dem gleichen Muster generieren können. – RibaldEddie
Richtig, Sie müssen absolut zufällige Testdaten nicht erzeugen. Obwohl es wahr ist, dass Ihr derzeitiger kleiner Datensatz nicht genau vorhersagen kann, wie die Datenvielfalt aussehen wird, wenn Sie Millionen von Zeilen haben, stimme ich nicht zu, dass dies bedeutet "die Ergebnisse können nicht ernst genommen werden". Realistisch betrachtet ist ein Test mit synthetischen Daten genau genug, um Ihnen zu helfen, Ihre SQL-Abfragen zu optimieren. –