Michael Schröpl: mySQL: Nicht-Verwendung eines Index

Beitrag lesen

Hallo Cheatah,

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

"Nachrichten-Referenz".

Versteh mich bitte nicht falsch, es ist natürlich euer Bier,
wie ihr die Nomenklatur aufstellt.

Hätte ich diese Tabelle anlegen dürfen, dann hießen die Felder anders.

Bei meinen in dieses System eingebauten Tabellen habe ich mich aller-dings an die t_/d_-Konvention gehalten, um keine unnötigen Brüche in
die Nomenklatur zu bringen.
Außerdem gibt es zu _meinen_ Tabellen einen ausführlich kommentierten
Quelltext aller CREATE TABLE-Statements ... zu der besagten Tabelle
habe ich nur, was mySQL mir darüber erzählt.

Denk aber auch daran, dass mal ein neuer Techniker hinzukommen
kann, ein Unbeteiligter, der das System praktisch "auf den ersten
Blick" verstehen muss.

Ich habe die besagte Firma mehr als nur im Verdacht, daß sie genau das
verhindern will ... :-\

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.

Genau der type cast scheint ja das Problem zu sein.

In http://www.mysql.com/doc/M/y/MySQL_indexes.html stand
allerdings m. E. nichts Entsprechendes drin - bisher jedenfalls. ;-)

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

Ich kann es sogar nachvollziehen. Allerdings sollte das eher ein bug
sein - wenn man die Reihenfolge im Query Optimizer umstellt (erst den
type cast, dann die Index-Entscheidung), sollte es ja kein Problem sein.

Viele Grüße
      Michael
(mit nunmehr laufender "related news search" :-)