我正在將搜索功能實現到網絡應用程序中,並在我的表格中的許多列上啓用了全文搜索。SQL XML全文搜索
其中一列是數據類型'xml',我目前使用XQuery來確保只搜索某些節點。
這裏是(被一個生成的SQL查詢/動態查詢)的一個SQL查詢的XQuery部分的示例
XMLContent.exist('/Template/Fields/Field/Text/text()[contains(.,"search-phrase1") or contains(.,"search-phrase2") or contains(.,"etc.")]') = 1
的動態查詢可以把任何數量的搜索短語在向查詢。
當我正在學習如何編寫此查詢時,我得到了這樣的印象:這是利用全文搜索,但我試圖刪除XMLContent列上的全文索引,查詢仍在運行。
我的問題是,如果在sql中使用CONTAINS-function搜索整個XMLContent-column的速度更快,或者當我將其縮小到xml中的特定節點時速度會更快?
除了CONTAINS檢查所有節點而不是指定的節點之外,不同的方法是否有各自的優點?