SQL: Query performanter machen
Geizhals » Forum » Programmierung » SQL: Query performanter machen (29 Beiträge, 315 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
.....
Re(5): SQL: Query performanter machen
16.06.2008, 13:15:36
Naja, "einfach" ist gut - wegen deinem Count muss die DB sowieso physikalisch die komplette Tabelle (9,5 Millionen Zeilen lt. deinen angaben) durchwetzen, und das dauert nun mal seine Zeit.

Ich sehe das Problem ganz einfach in der Planung - den Fall "einzelne mega tabelle" und "abteilung x braucht spezielle daten" hätte man sich vorher überlegen müssen.

Für solche Fälle (extrem viele Zeilen) hätte ich (unter PostgreSQL) Tabellen Partitionierung verwendet, die Tabellen damit nach Monaten (oder sogar weniger, je nach Menge) aufgeteilt, und jeder zeile ein created Datum gegeben, auf dieses einen Index setzen und diesen clustern.

Hat dann nicht nur den Vorteil, dass die abfragen extrem schnell sind, weil du keine mega-großen indizes hast, sondern auch die Wartung ist schneller, weil eben nicht bei jedem update / insert / delete ein mega-großer index aktualisiert werden muss.

Kann jetzt natürlich nur raten, aber diese 160.000 Ids müssen doch auch irgendwo her kommen - gibt es für die z.b. ein zeitliches Kriterium, das du von deinem "Auftraggeber" erfragen kannst? Dann könntest du auch auf das eingrenzen, was die performance sicher drastisch verbessern würde.
--
DiTech postete:
Sie haben offensichtlich 7mal mit dem Goldadler positive Erfahrung gemacht. Bei dieser Menge an Glück sollten Sie Lotto spielen.

GHF Watcher 1.3 - Firefox Erweiterung für Geizhals User
16.06.2008, 13:15 Uhr - Editiert von Dr. Watson, alte Version: hier
Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung