我想查找所有與謂詞MyColumn LIKE '%FooBar'
匹配的行,但是通過使用索引搜索而不是掃描。SQL Server中高效的字符串後綴搜索?
一種方法主要是創建MyColumn的反轉版本,並在該列上使用常規索引在反向列上搜索反轉模式(ooF%
)。
但是,我不喜歡手動創建這個反轉列。 Oracle具有反轉鍵索引的概念,可以自動索引REVERSE(MyColumn)
而無需手動實現該列的反轉版本(以表格上物理列的形式或創建索引視圖)。
有沒有其他方法可以有效地在SQL Server中執行後綴子字符串搜索?
是[全文搜索](http://technet.microsoft.com/zh-cn/library/ms142571.aspx)選項嗎? – Bridge
@Bridge:全文搜索不會幫你解決這個問題。來自您自己的鏈接:「全文查詢通過根據特定語言(如英語或日語)的規則操作單詞和短語,對全文索引中的文本數據執行語言搜索」。你不能用這個詞來搜索部分單詞。 – TToni
@Toni你可以搜索單詞和短語('一個或多個特定的單詞或短語(簡單術語)'和'一個單詞或短語,其中的單詞以指定的文本(前綴術語)開始'),但似乎你是正確 - 不後綴 - 請參閱[這個相關的問題](http://stackoverflow.com/questions/2392348/whats-wrong-with-my-fulltext-search-query)。 – Bridge