Peter: Abfrage beschleunigen

Beitrag lesen

die Felder sind als int(11) angelegt.
Ist das ok?
Oder sollte ich den Typ ändern, wenn ja in welches Format.

OK, mit MySQL kenne ich mich weniger aus, deswegen verstehe ich auch nicht warum man bei nem int ne Feld/Typ-Größe mitgeben kann. ich verstehe aber auch nicht warum es den zum einem ein int ist (weil ja eigentlich nur 2 Zustände 1 & 0 gespeichert werden also im Prinzip ein bit) und zum anderen warum int(11) ist ja nicht so toll im Design.

Ich habe keine Ahnung ob ich etz Schwachsinn erzähle aber eine alternative wäre die Flags gegen DateTime zu tauschen. Dann klappts auch mit dem Index besser und du erkennst zu dem auch wann das Flag gesetzt wurde (sollte es mal eine Rolle spielen). Also im Prinzip suchst dann nach den Feldern die nicht null sind null bedeutet dann nicht gesetzt und ein vorhandenes Datum das es eben gesetzt ist. Wie gesagt der Tipp bezieht sich auf den Index ob man einfach das Query optimieren könnte weiß ich nicht.

Peter

PS: Was man noch ändern könnte, hat aber auch wieder mit dem Index zu tun: ...1 AND AD.name like '%wort%' AND AD...

Ich weiß nicht wie MySQL sich hier verhält (TableScan oder Index) wenn er nach nem StringPattern suchen soll. Es gibt aber (zumindest in MSSQL) die Möglichkeit einen Index auf Funktionen zu legen!!!