Diese Frage dreht sich um das, was ich mich frage, aber die Antworten sprechen sie nicht genau an.
Es scheint, dass '=' im Allgemeinen schneller als 'Gefällt mir' ist, wenn Platzhalter verwendet werden. Dies scheint die konventionelle Weisheit zu sein. Nehmen wir jedoch an, ich habe eine Spalte mit einer begrenzten Anzahl verschiedener fester, fest codierter Varchar-Bezeichner und möchte alle Zeilen auswählen, die mit einer von ihnen übereinstimmen:
select * from table where value like 'abc%'
und
select * from table where value = 'abcdefghijklmn'
'Like' sollte nur die ersten drei Zeichen testen müssen, um eine Übereinstimmung zu finden, während '=' die gesamte Zeichenfolge vergleichen muss. In diesem Fall scheint mir "Gefällt mir" einen Vorteil zu haben, wenn alle anderen Dinge gleich sind.
Dies ist als allgemeine akademische Frage gedacht und sollte daher keine Rolle spielen, welche Datenbank, aber sie ist mit SQL Server 2005 entstanden.
value
indiziert ist oder nicht . Wenn dies der Fall ist,=
ist eine einfache Suche ohne Tischscan erforderlich, die jedeLIKE
Aussage, die Sie darauf werfen, zunichte macht.