Performanceprobleme bei Mini-Produktdatenbank

Ich habe auch MySQL das letzte mal vor Jahren in den Fingern gehabt. Das beschriebene Problem zielt aber auf viele Indexe ab. Daher sollte eine reine Kopie der Tabellenstruktur und Daten ohne Schlüssel oder Indexe ja eigentlich ein anderes Ergebnis liefern.
 
Werbung:
Hy,

MySql ist nicht gerade berühmt, dass es gut Joinen kann. Vl. stößt ihr hier wirklich ein bischen auf die Grenzen von MySQL?

Hast du die Möglichkeit, deine DB mal auf MSSQL einzuspielen und das Stmt abzusetzen? Wäre wirklich interessant, was dabei rauskommen würde, unter der Verwendung der gleichen Hardware....


LG
 
von MSSQL verstehe ich leider noch weniger :-(. Mein aktueller Ansatz ist, temporäre Tabellen für beispielsweise Anschlüsse anzulegen, diese enthalten das Kreuzprodukt von vga, hdmi,etc. und diese mittels Trigger zu füllen wenn sich beispielsweise was bei vga geändert hat. Anschließend verweise ich in Variante dann lediglich auf den Eintrag der neuen Tabelle. So kann ich die Anzahl der Tabellen deutlich vermindern. Macht das in euren Augen Sinn?

Gruß
 
nachdem ich das gelesen hatte spiele ich jetzt ein wenig mit den Indexen herum, ist auch schon etwas schneller geworden. Aber immer noch längst nicht vernünftig...
 
Eingentlich wäre die Beseitigung des Problems die Ideallösung. Ob die JOINs sinnvoll sind oder nicht müsste man im Einzelfall betrachten. Aber die Tabellenstruktur steht ja eigentlich nicht zur Debatte. Der Trigger ist eine Notlösung, aber eigentlich macht er ja nichts anderes als deine Abfrage nur komplizierter. Er müsste theoretisch die selben Performance Probleme bekommen.
 
ok, dann werde ich die Idee wieder verwerfen, um das vernünftig umzusetzen würde wahrscheinlich auch soviel Zeit ins Land gehen wie für die Umsetzung der ganzen DB...
 
Werbung:
Das kommt darauf an, welche Daten du in den Tabellen vag, aufloesung usw. speicherst.

Wenn diese auch in einer Tabelle gespeichert werden könnten würden sich die JOINS natürlich stark verringern.

Ich habe dabei auf soetwas gedacht:

create table HardwareComponents
( ID INT(11) auto_increment,
MODELL_ID IN(11), --FK zu der Tabelle Modell
HWCOMPTYPE ID INT(11), --FK zu der Tabelle HardwareComponentsTypen
VALUE CHAR(100),
PRIMARY KEY (ID)
)

create table HardwareComponentsTypen
( ID INT(11) auto_increment,
NAME CHAR(100),
PRIMARY KEY (ID)
)

Lg
 
Zurück
Oben