Sven Rautenberg: [MySQL] Feldinhalt in LIKE-Ausdruck verwenden?

Beitrag lesen

Moin!

Ich habe zwei Tabellen in einer DB. Das Feld der einen Tabelle(1) beginnt mit der gleichen Kennzahl wie das Feld zweiten Tabelle(2), danach kommt aber in der zweiten Tabelle(2) ein Punkt gefolgt von einer weiteren Zahl.

Ganz schlechtes Datenmodell!

Diese Krücke kriegst du nur mit extremen Einbußen in der Performance gejoint. Davon merkst du vielleicht bei zehn Datensätzen gar nichts, und bei hundert auch noch nicht wirklich, aber im wirklichen Betrieb ab tausend Datensätzen warten deine Nutzer dann unerwartet ewig auf ein simples Ergebnis.

Du solltest die Spalte in der zweiten Tabelle auftrennen in zwei Spalten: Eine enthält dieselbe ID, wie Tabelle 1, die zweite Spalte den Rest nach dem Punkt.

Wenn du tatsächlich auch die Punkt-Kombination beider Spalten irgendwo in deiner Anwendung benötigst, dann kombiniere dir diesen Wert im SELECT.

- Sven Rautenberg