我認爲全文搜索會讓我做一個比LIKE謂詞更優化的方式精確短語搜索,但我讀到它不這樣做究竟。字面短語搜索在SQL Server中的文本列的最佳方式
「LIKE」是在表中搜索字面字符串的數千行TEXT字段的最有效方法嗎?
它一定是精確匹配...
我認爲全文搜索會讓我做一個比LIKE謂詞更優化的方式精確短語搜索,但我讀到它不這樣做究竟。字面短語搜索在SQL Server中的文本列的最佳方式
「LIKE」是在表中搜索字面字符串的數千行TEXT字段的最有效方法嗎?
它一定是精確匹配...
顯然,CONTAINS
比LIKE
查詢速度更快...
(剖析可以在第19頁該演示文稿中找到)
你在什麼版本的SQL Server?我建議用VARCHAR(MAX)替換TEXT,如果可以的話(SQL Server 2005及更高版本)。
是什麼讓你說全文不起作用?你如何設置全文,你的全文查詢是什麼樣的?
馬克
LIKE(字符串%)的運行速度更快,如果你在列有適當的索引,而僅在值的開頭尋找「串」。如果「字符串」可能位於值的中間,則必須使用LIKE(%string%);在這種情況下,表掃描將被觸發,並且速度慢(主要慢於全文搜索)。 您可以使用全文搜索的CONTAINS()函數進行完全匹配。
我通過使用SQL Server Management Studio並使用全文索引在我的一個表中的字段上創建全文目錄來設置全文。 我的查詢: SELECT TOP 10 serial_no,writer_id,寫作,assignment_type,SUBDATE,標題 FROM write_onsite WHERE CONTAINS(寫入 ' 「採取一次」') – Caveatrob 2009-04-08 21:17:35