Cruz: Verlagerung des Datenbestandes

Beitrag lesen

Hallo Biene,

nichts ist schöner, als so viel Daten in der Hand und ein klares Optimierungsproblem vor Augen zu haben. :) Probier es doch aus! Nimm dir am besten eine billige lahme Kröte, schmeiss irgendein minimal Linux drauf, füll die Tabelle mit den Daten, mach nen SELECT, füll die neuen Daten dazu, mach wieder einen SELECT, leg einen Index drüber, mach wieder einen SELECT, split die Daten auf, mach die zwei getrennten SELECTS, leg Indizes auf die getrennten Daten und mach wieder die SELECTS. Und vergiss nicht dabei die Laufzeiten zu notieren. Das alles kann man locker an einem Tag bewältigen und hinterher bist du wesentlich schlauer. Du kannst bei der Gelegenheit sogar ein bisschen deine Index Skills aufpeppen und dir mal anschauen wie man ein Index besonders sinnvoll bezüglich eines SELECTs auf eine Tabelle legen kann.

Ansonsten solange die Performace nicht mission critical ist, geht eine saubere Struktur _immer_ vor. Also gleichartige Daten gehören auch in die gleiche Tabelle.

Weiteres zur Performance: bei einfachen SELECTs mit ordentlich festen Bedingungen wie feldname = 'wert' und möglichst nur einem Datensatz als Ergebnis greift ein Index richtig gut. Es ist egal ob du 1GB oder 100GB in einer Tabelle hast, der Index sagt sofort _wo_ sich der passende Datensatz befindet, es wird geholt und fertig.

Hast du allerdings Abfragen mit LIKE '%dfd%' und solch Geschmodder und 1,5 GB Daten, wovon 1GB zum Ergebnis gehören, kommt dein SELECT vielleicht niemals wieder aus der Datenbank raus.

Gruß,
Cruz