PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suche in MySQL



Giuly
21-11-2005, 17:05
Hi,
ich bau grade ne Suchfunktion in MySQL, und die sollte case-insensitive sein.
geht

SELECT * FROM table WHERE LOWER(`a`)=LOWER('b')
oder so? Mir würde noch einfallen in einem Feld den Namen als Lowercase zu speichern, aber das wird der Performance wohl nicht grade förderlich.

Also, gibts dafür ne gute Lösung?

MfG

Pingu
21-11-2005, 17:22
Wenn Du "LIKE" nimmst ist es sowieso case-insensetive. siehe Manual

Pingu

ninguno
22-11-2005, 06:34
Mir würde noch einfallen in einem Feld den Namen als Lowercase zu speichern, aber das wird der Performance wohl nicht grade förderlich.
ganz im gegenteil, was die performance betrifft ist diese zusätzliche lowercase spalte deinem ansatz mittels lower() function klar vorzuziehen. die benützung einer function in der where-bedingung verhindert effektiv die benützung jeden indexes, dazu kommt noch der overhead eines functionsaufrufs für jede row der tabelle.