MYSQL: LIKE vs =
Hans
- datenbank
Hi Leute,
macht es einen Unterschied ob ich bei INSERT LIKE oder "=" nehme?
Beispiel: INSERT INTO [...] WHERE username LIKE / = "Hans"
Danke.
Hans
Hallo,
auf jeden Fall macht es was aus, weil Dein Statemant auch einfügt, wenn die Spalte Hansi heisst oder auch cHanse usw
währen "=" auch wirklich erfordert, dass die Spalte "Hans" beinhaltet ... und zwar NUR Hans und nicht Hansi oder Hanse oder sowas :-)
gruss
Andreas
Vergiss das Posting ganz schnell wieder *schäm*
natürlich würde Like "Hans" genauso funktinieren. Hanse oder cHans würde nur bei dem "%Hans%" einen Treffer liefern.
Sorry noch mal
gruss
Andreas
Hi,
Asche auf dein Haupt :-) und danke für die Antworten!
MfG Hans
Halihallo Hans
macht es einen Unterschied ob ich bei INSERT LIKE oder "=" nehme?
Spielt wohl fast keine Rolle, obwohl ich vermute, dass ein LIKE "..." etwas langsamer
ist, als ein '=', da LIKE eben meist ein "%" oder "_" erwartet, die zu matchende
String-Konstante also durchsucht werden muss und MySQL erst prüft, ob ein Index verwendet
werden kann. Bei '=' wird der Index immer verwendet (falls vorhanden). Aber die
Auswirkungen dieser Überlegungen wirst du kaum zu spüren bekommen. Einfach mein Tipp:
Verwende '=', wenn du Strings auf Gleichheit überprüfen möchtest.
Beispiel: INSERT INTO [...] WHERE username LIKE / = "Hans"
Alles ausser '%Hans%' ist akzeptabel.
Viele Grüsse
Philipp
Hi!
| macht es einen Unterschied ob ich bei INSERT LIKE oder "=" nehme?
Mich würde eher interessieren was LIKE oder "=" _überhaupt_ in einem INSERT-Statement zu suchen haben: http://www.mysql.com/doc/de/HANDLER.html
Beispiel: INSERT INTO [...] WHERE username LIKE / = "Hans"
Willst Du einen Datensatz einfügen oder Aktualisieren? Für letzteres gibt es UPDATE(http://www.mysql.com/doc/de/UPDATE.html).
Ob LIKE einen Unterschied zu "=" macht solltest Du Dir selbst beantworten können wenn Du weißt wie LIKE funktioniert: http://www.mysql.com/doc/de/String_comparison_functions.html
LIKE kann großen Einfluss auf die Verwendung eines Index haben:
http://www.mysql.com/doc/de/MySQL_indexes.html
Grüße
Andreas