@erc danke nochmal für die Aufklärung. Also wenn es nur um die Geschwindigkeit des Selects geht brauche ich InnoDB garnicht, da reicht auch ein Index bei myISAM aus korrekt?
Praxisbeispiel: ich habe 100.000 Bücherregale und suche jetzt ein Buch. Damit es schneller geht und das Suchen(selektieren) nicht komplett alle Regale abgehen muss sind diese noch in Gänge unterteilte. Ich sage mein Buch muss in Gang 530 liegen. Die Regale id 24k bis 28k haben die pid 530, also fängt das Suchen direkt ab Zeile 24k an. Auch korrekt oder ?
Indexierung und Beziehung zwei unterschiedliche Dinge = habs verstanden
Irritiert hat mich eben die Tatsache das man bei InnoDB direkt sagen wer und wo die referenzierte Spalte ist. Bei myISAM hingegen sag ich nur pid ist ein index.
Das schien mir irgendwie zu ungenau um daraus einen Geschwindigkeitsbonus zu bekommen. Aber okey wenn das so funktioniert ist ja doch alles richtig wie ich meine Tabellen aufgebaut habe.
Ob innoDB jetzt noch soooo interessant für mich ist weiss ich nicht weil die Integrität kann ich per PHP einhalten. Meine Tabellenbeziehung ist ja echt nicht komplex. Das bekomm ich mit ein oder zwei IF Abfragen auch hin. Ich überlege mir das nochmal und gehe die Praxis einmal durch.
@eagle okey das wusst ich nicht das bei Index eine Kopie angelegt wird. Da muss man wohl scharf überlegen ob an welcher Stelle ein Index sinnvoll ist. Bei der generierung der Grundstücke ist es definitiv wichtig, weil es wird sehr viele geben und gebraucht wird ja nur die Gruppe die zum jeweiligen Gebiet gehört.
Auch die besitzerID wird einen Index brauchen. Denn es sollen ja im Startmenü des Spielers alle seine Gebäude angezeigt werden. Das heisst die Suche geht über wirklich ALLE Grundstücke der gesamten Tabelle. Das werden ca. 4,5 Millionen sein. Da macht der Index für die Besitzer ID wirklich Sinn.
Aber ne Kopie von 4,5 Millin Datensätze ist auch kacke, ist innoDB hierbei sparsamer oder macht der auch ne Kopie für den Index ?
Praxisbeispiel: ich habe 100.000 Bücherregale und suche jetzt ein Buch. Damit es schneller geht und das Suchen(selektieren) nicht komplett alle Regale abgehen muss sind diese noch in Gänge unterteilte. Ich sage mein Buch muss in Gang 530 liegen. Die Regale id 24k bis 28k haben die pid 530, also fängt das Suchen direkt ab Zeile 24k an. Auch korrekt oder ?
Indexierung und Beziehung zwei unterschiedliche Dinge = habs verstanden
Irritiert hat mich eben die Tatsache das man bei InnoDB direkt sagen wer und wo die referenzierte Spalte ist. Bei myISAM hingegen sag ich nur pid ist ein index.
Das schien mir irgendwie zu ungenau um daraus einen Geschwindigkeitsbonus zu bekommen. Aber okey wenn das so funktioniert ist ja doch alles richtig wie ich meine Tabellen aufgebaut habe.
Ob innoDB jetzt noch soooo interessant für mich ist weiss ich nicht weil die Integrität kann ich per PHP einhalten. Meine Tabellenbeziehung ist ja echt nicht komplex. Das bekomm ich mit ein oder zwei IF Abfragen auch hin. Ich überlege mir das nochmal und gehe die Praxis einmal durch.
@eagle okey das wusst ich nicht das bei Index eine Kopie angelegt wird. Da muss man wohl scharf überlegen ob an welcher Stelle ein Index sinnvoll ist. Bei der generierung der Grundstücke ist es definitiv wichtig, weil es wird sehr viele geben und gebraucht wird ja nur die Gruppe die zum jeweiligen Gebiet gehört.
Auch die besitzerID wird einen Index brauchen. Denn es sollen ja im Startmenü des Spielers alle seine Gebäude angezeigt werden. Das heisst die Suche geht über wirklich ALLE Grundstücke der gesamten Tabelle. Das werden ca. 4,5 Millionen sein. Da macht der Index für die Besitzer ID wirklich Sinn.
Aber ne Kopie von 4,5 Millin Datensätze ist auch kacke, ist innoDB hierbei sparsamer oder macht der auch ne Kopie für den Index ?
Kommentar