sql >> Database >  >> RDS >> Sqlserver

LIKE vs BEVAT op SQL Server

De tweede (ervan uitgaande dat je CONTAINS bedoelt) , en eigenlijk in een geldige zoekopdracht plaatsen) zou sneller moeten zijn, omdat het sommige . kan gebruiken vorm van index (in dit geval een full-text index). Deze vorm van zoekopdracht is natuurlijk alleen beschikbaar indien de kolom bevindt zich in een volledige tekstindex. Als dit niet het geval is, is alleen het eerste formulier beschikbaar.

De eerste query, die LIKE gebruikt, kan geen index gebruiken, omdat deze begint met een jokerteken, en er dus altijd een volledige tabelscan nodig is.

De CONTAINS vraag moet zijn:

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


  1. Waarom wordt het als een slechte gewoonte beschouwd om cursors in SQL Server te gebruiken?

  2. Meerdere rijen samenvoegen en groeperen in Oracle

  3. Hoe de datumstijl in PostgreSQL te veranderen?

  4. Hoe importeer ik bestaande *.sql-bestanden in PostgreSQL 8.4?