Indexierung einer Tabelle

Moin,

es war das Thema, das ich immer vor mir hergeschoben habe denn es ging ja auch ohne…
Jetzt bin ich an einem Punkt an dem ich nciht drum rum komme…

Ich habe folgendes Problem:
Ich habe eine Tabelle mit rund 2,5Mio Einträgen.
Nichts sonderlich komplexes, nur eine Serial, ein Fremschlüsselfeld, nach dem auch selektiert wird, ein Text-Feld und noch ein paar Integer.
Jetzt dauert es allerdings sehr lange eine Suche oder ein Update über diese Tabelle zu fahren. 10-20sec

Also denke ich mir, dass evtl ein Index sehr sinnvoll wäre, oder?
Die Frage ist was für einen Typ Index benutze ich und welche Spalte indexiere ich?


Ich bin auf dem Gebiet nicht sonderlich bewandert.
Könnt ihr mir Tips geben wo ich Informationen finde oder gerne auch was ihr mir als Vorgehen empfehlen würdet.

Danke für eure Mühe!
Crypi

Index auf die Spalte, nach der gesucht wird. Also hier z.B. das FK-Feld. Das Update machst Du ja sicher auch mit einer WHERE-Bedingung, auch hier die Spalte, die da betroffen ist. Textfelder sind eher problematisch, da Indexe da nur bedingt helfen. Näheres könnte man sagen, wenn man die Query und das EXPLAIN ANALYSE dazu hätte.

Andreas

Moin,

ich hab das mal gemacht, also nen Index auf den Fremschlüssel, und der Unterschied ist ja wirklich gewaltig!

Toll, Toll! :slight_smile:

Danke, für deine Unterstützung! Nicht nur jetzt hier zu diesem Thema sondern auch sonst! Du bist ja immer echt schnell und kompetent dabei!
Danke!

Crypi

Ja, ich wollt Dich noch warnen, so mit festhalten und so…

Das ist im übrigen ein schönes Thema als Zeitvertreib: EXPLAIN ANALYSE von Queries sich anschauen, mal Indexe abschalten, vergleichen, … und sich generell mal anzuschauen, wie der Planner arbeitet, so mit seinen Kostenschätzungen, seinen Statistik-Tabellen und so weiter. Sehr interessant das alles.

Andreas

Danke, für den Tip.

Wenn ich mal Freizeit hab…


Einen schönen Montagabend!

Crypi