Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

COMME vs CONTIENT sur SQL Server

La seconde (en supposant que vous vouliez dire CONTAINS , et placez-le dans une requête valide) devrait être plus rapide, car il peut en utiliser certains forme d'index (dans ce cas, un index de texte intégral). Bien sûr, cette forme de requête n'est disponible que si la colonne est dans un index de texte intégral. Si ce n'est pas le cas, seul le premier formulaire est disponible.

La première requête, utilisant LIKE, ne pourra pas utiliser d'index, car elle commence par un caractère générique, elle nécessitera donc toujours une analyse complète de la table.

Le CONTAINS la requête doit être :

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