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

SQL Server:Indexspalten in like verwendet?

Gegeben sind die Daten 'abcdefg'

WHERE Column1 LIKE '%cde%'  --can't use an index

WHERE Column1 LIKE 'abc%' --can use an index

WHERE Column1 Like '%defg' --can't use an index, but see note below

Hinweis:Wenn Sie wichtige Abfragen haben, die '%defg' erfordern, können Sie eine dauerhaft berechnete Spalte verwenden, in der Sie die Spalte REVERSE() und dann indizieren. Sie können dann abfragen auf:

WHERE Column1Reverse Like REVERSE('defg')+'%' --can use the persistent computed column's index