Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

LIKE vs CONTAINS auf SQL Server

Die zweite (vorausgesetzt, Sie meinen CONTAINS , und es tatsächlich in eine gültige Abfrage einfügen) sollte schneller sein, da es some verwenden kann Indexform (in diesem Fall ein Volltextindex). Diese Form der Abfrage steht natürlich nur wenn zur Verfügung die Spalte befindet sich in einem Volltextindex. Ist dies nicht der Fall, ist nur das erste Formular verfügbar.

Die erste Abfrage, die LIKE verwendet, kann keinen Index verwenden, da sie mit einem Platzhalter beginnt, und erfordert daher immer einen vollständigen Tabellenscan.

Der CONTAINS Abfrage sollte sein:

SELECT * FROM table WHERE CONTAINS(Column, 'test');