mmofacts.com

Cluster-Index/Feld in MySQL? Alternativen?

gepostet vor 18 Jahre, 5 Monate von Gerbo
Als Ordnungsfeld zur physikalischen Speicherung benutzt MySQL entder den Primary Key oder erzeugt selber eine "unsichtbare" Spalte mit Werten die Unique sind.
Aber in meinem Projekt wäre eine Speicherung der Daten nach einem Cluster-Feld (keine eindeutigen Werte) angemessener. Ich habe eine sehr grosse Karte in kleinere Sektoren unterteilt und möchte dann innerhalb eines Sektors nach Einheiten suchen:
CREATE TABLE sektoreinheiten (
sektor_id MEDIUMINT NOT NULL,
einheit_id MEDIUMINT NOT NULL,
koord_x SMALLINT NOT NULL,
koord_y SMALLINT NOT NULL,
index search (sektor_id)
);
Jeder Sektor könnte - falls ich genug Mitspieler bekomme - mehrer hundert Schiffe umfassen. Wenn die Datensätze über die Datei verteilt sind (wie es bei einer Speicherung nach einem von MySQL generierten Ordnungsfeld der Fall ist) müssen also einige hundert Lesezugriffe stattfinden, bei einer Cluster-Sortierung würde sich das erheblich reduzieren. Da zusammengehörenden Daten dann auch hintereinander in der Datei stehen, würden erheblich weniger Blöcke gelesen werden müssen. Löst MySQL das Problem irgendwie intern? Oder muß ich auf eine anderes Datenbank umsteigen, und wenn ja auf welche?
Ein Cluster-Index alleine löste das Problem nicht, da dann immer noch die Datensätze (physikalisch) über die ganze Datei verteilt wären (100.000 Datensätze).
gepostet vor 18 Jahre, 5 Monate von kudi
Hi
Ich hab hier schon mal geschrieben wie ich dieses Problem "umgehe".
Hoffe das hilft dir.
Lg Kudi
gepostet vor 18 Jahre, 5 Monate von abuzeus
Nachdem dieses Problem hier offenbar öfter auftaucht, wäre es vielleicht eine gute Idee, wenn einige Leute mit Ahnung vielleicht mal ihr Wissen zum Thema "Karte" zusammentragen würden. Offenbar stehen mehrere Leute vor diesem Problem, da kann es sicher nicht schaden, wenn man hier ein paar gute Tipps in komprimierter und übersichtlicher Form findet. Vielleicht hat ja einer Zeit und Muße...
(bevor hier gebrüllt wird: "machs doch selbst": Von Mysql und Konsorten verstehe ich zu wenig, wenns aber um Umsetzungen geht, die nicht auf einer Datenbank beruhen, helfe ich gern mit)
gepostet vor 18 Jahre, 5 Monate von kudi
Würde natürlich helfen, aber vielleicht wäre es auch sinnvoll das fortgeschrittenen Forum für Gäste lesbar zu machen. Ich warte auch noch immer auf eine Freischaltung ...
Lg Kudi
P.S. Hier ist noch ein Thread zum Thema von mir.
Und hier ist auch noch was ganz tolles

Auf diese Diskussion antworten