Hans: MYSQL: LIKE vs =

Hi Leute,

macht es einen Unterschied ob ich bei INSERT LIKE oder "=" nehme?

Beispiel: INSERT INTO [...] WHERE username LIKE / = "Hans"

Danke.
Hans

  1. 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

    1. 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

      1. Hi,

        Asche auf dein Haupt :-) und danke für die Antworten!

        MfG Hans

  2. 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

  3. 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