Cheatah: mySQL: Nicht-Verwendung eines Index

Beitrag lesen

Hi,

CREATE TABLE t\_nref
Als Tabellenname ist das nicht wirklich sprechend... ;-)
Alle Tabellen in diesem System heißen "t_*", alle
Spalten heißen "d_*".

und "nref" bedeutet...? :-)

Versteh mich bitte nicht falsch, es ist natürlich euer Bier, wie ihr die Nomenklatur aufstellt. Denk aber auch daran, dass mal ein neuer Techniker hinzukommen kann, ein Unbeteiligter, der das System praktisch "auf den ersten Blick" verstehen muss.

Das einzige, was mir auffällt (was ich aber von MySQL
nicht als Problem erwarten würde) ist, dass Du die
Spalte als VARCHAR angelegt hast[1] und als NUMBER
abfragst.
Und es ist in der Tat die Lösung des Problems:

Echt? Wow... ich hatte ehrlich gesagt nicht ernsthaft damit gerechnet :-) Gerade MySQL, welches immer schön still im Hintergrund Auto-Typecasts macht, sogar bei CREATE TABLE. Nun ja.

mySQL konvertiert zwar implizit den Datentyp, schaltet
dabei aber den Indexzugriff ab - darauf muß man erst
mal kommen ...

Allerdings :-)

[1] Wenn es sich, wie mir scheint, um eine Referenz
handelt, sollte es eh ein NUMBER-Typ sein ;-)
Wahr - aber die Tabelle stammt nicht von mir

Ja, das kenne ich. Sowas ist immer ärgerlich *g*

Cheatah