我在SQL Server 2008 x64上有全文索引問題。全文搜索「包含」比「Like%」要慢
我有三個表:
表A與90個000行
表B 12個000 000行
表C具有22個000 000行
我創建FTS目錄與autopopulation。
當我查詢表A:
Select * from TableA where Contains(field1, '"j*"')
我看到較少11000個記錄然後1秒
但是,當我查詢表B或表C具有相同的查詢我看到在2秒內250條記錄。這顯然非常緩慢。
查詢「like%」而不是「contains」對於相同的表執行少於1秒。
問題是否存在是因爲大表B和C?表A查詢成功。
也許這些表需要更多時間進行索引? (但他們索引(填充)3幾天了)
一些細節:
對於表B和CI總是看到 「人口狀況=處理的通知」(9)
屬性 「TableFulltextDocsProcessed」 總是增加
(我的SQL服務器有一個鏡像的實例。)
*「但他們正在索引(填充)3天」* < - 您是說索引尚未完成建設?當然,它沒有索引就慢一些。您還表示狀態始終爲「處理通知」。 SQL Server是否捱餓MSFTESQL/MSSEARCH內存,也許這就是爲什麼需要時間才能完成全文索引? – 2010-11-02 12:27:32
「,但它們已經索引(填充)了3天」< - - 應該完成Indixing:FTS Catalog的「Item Count」屬性等於必要表的行數,我等了3天,查詢仍然很慢。 奇怪的是,TableA中沒有太多記錄被成功查詢。所以我認爲表B和C需要更多時間來構建一些緩存或其他東西...... 關於內存設置:它們是默認設置。我在服務器上看不到任何內存問題。 另外我的服務器有一個鏡像實例。這能影響我的問題嗎? – 2010-11-02 13:21:12