TS: mysql: Spalte nach Zeichen abfragen

Beitrag lesen

Hello,

immer table scan? Wenn da im Index steht, sollte ein index scan genügen. Oder klappt das in MySQL nicht?

Wenn es einen Index über die Zeichenlänge des Feldinhaltes gibt, mag das stímmen.
Der müsste dann aber als redundantes Datum (Extraspalte) bei jeder Änderung in der eigentlichen Datenspalte aktualisiert werden (Trigger?).

Die VarChar-Daten werden bei MySQL als b+Tree-Struktur abgelegt. Die ist nach dem Inhalt und nicht nach dessen Länge organisiert.

Wenn man also Wert auf die Länge der Daten legt, sollte man eine Extraspalte mittels Trigger führen lassen. Das wird dann später trotzdem ähnlich langsam, wie ein boolescher Index werden. Die Bäume werden dann schnell unbalanciert.

Liebe Grüße
Tom S.

--
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.