Bio: sortieren von großen datenmengen (plus perl)

Beitrag lesen

Sup!

Hi,

Also, wenn man die Liste unsortiert speichert, kostet das Sortieren natürlich eine Menge Zeit.

wird's nicht immer unsortiert gespeichert?

Nun, jedes bessere Datenbanksystem versucht zumindest, die s.g. topologische Struktur der Daten zumindest für einen als besonders wichtig gekennzeichneten Index zu erhalten, damit die Daten eine möglichst hohe Lokalität haben und Speicherzugriffe gespart werden.

Wenn man die Liste schon sortiert speichern kann (gute DBs können das), dann kostet Einfügen oder Löschen Zeit.

Ganz schoen viel Zeit.

Naja, es geht, solange das Einfügen oder Löschen ein bestimmtes Maß nicht übersteigt, recht schnell.

Da muss man Abwägen, welcher Fall öfter vorkommt

Nein. Man muss unsortiert speichern.

Man kann die Daten in Segmente, Seiten und Blöcke aufteilen... aber ich halte hier keine Datenbankvorlesung.

  • Lesen oder Schreiben. In Deinem Fall wäre wahrscheinlich das schon sortierte Speichern von Vorteil,

Du meditierst vemutlich ueber den Fuellfaktor von Indizes?

Ein guter Index sollte erweiterbar sein, wer mit statischem Hashing arbeitet, ist selbst schuld...

Also, der Mann klagt ueber die schlechte Performance von Sortierungen unter 'MySQL'. Da koennte man ihn darauf hinweisen, dass intelligent gesetzte Indizes das Sortieren deutlichst performanter machen koennen. Mehr faellt mir dazu auch nicht ein.

Intelligente Datenbankadministration könnte auch helfen, sofern mysql z.B. das Festlegen einer primären Sortierreihenfolge unterstützt.

Wenn man nur mehrere Indizes anlegt, dann erkennt mysql vielleicht nicht, welcher Index besonders wichtig ist, und das Sortieren nach Index XY erfordert dann trotz allem das Einlesen aller Daten ins RAM.

Gruesse,

Bio

--
Elite ist mein zweiter Vorname