他の人が言ったように、必要なのは
select * from authors where address like '%' + @word + '%'
オプティマイザーが私たちがあなたに言っていることを理解した場合、これは物事をあまりスピードアップしないかもしれません. (また、インデックスは役に立ちません。全文検索を使用することは、他の人からの良い提案です)。
上記のクエリだけで十分な理由がわからない場合は、クエリを見てみましょう。
select * from authors
where address like @word or address like '% '+ @word
or address like @word+' %' or address like '%'+@word+'%'
or address like '% '+@word+' %' or address like @words
or address like '% '+@words or address like @words+' %'
or address like '%'+@words+'%' or address like '% '+@words+' %'
or address like @wordcom or address like '% '+@wordcom
or address like @wordcom+' %' or address like '%'+@wordcom+'%'
or address like '% '+@wordcom+' %' or address like @wordscom
or address like '% '+@wordscom or address like @wordscom+' %'
or address like '% '+@wordscom+' %'
「like @word + '%'」があるので、レコードが「like @word」に一致する場合、「like @word + '%'」にも一致することに注意してください。したがって、@word はこれ以上結果を追加しません。「または」があるため、@word が一致しようとしているか、または単に @word+'%' からの結果が得られているかにかかわらず、結果は同じになります。
そのロジックを適用すると、クエリは次のように簡略化できます。
select * from authors
where address like @word+' %' or address like '%'+@word+'%'
or address like @words+' %' or address like '%'+@words+'%'
or address like @wordcom+' %' or address like '%'+@wordcom+'%'
or address like @wordscom+' %' or address like '% '+@wordscom+' %'
同様に、@word は '%'+@word にまだ含まれていないものを追加しないため、クエリは次のように単純化されます。
select * from authors
where address like '%'+@word+'%'
or address like '%'+@words+'%'
or address like '%'+@wordcom+'%'
or address like '% '+@wordscom+' %'
さらに、'%'+@word+'s%'、'%'+@word+'.com%'、または '%'+@word+'s.com%' で見つかったものはすべて、'%'+@word+'%' で見つかります。 .