我有一個很好奇的問題... 我用CONTAINSTABLE謂詞編寫了一個存儲過程;像CONTAINSTABLE謂詞在短時間內調用幾次失敗
SELECT dbo.MyTable.MyPK
FROM dbo.MyTable INNER JOIN
CONTAINSTABLE(dbo.MyTable, FullTextField, 'mysearch') AS tbl1
ON tbl1.[KEY] = dbo.MyTable.MyPK
如果我用SQL Server Management Studio運行這個SP,一切都好。
現在我已經準備了一個自動測試套件,用於測試我的工作在重的重量下的有效性...... 我幾次用不同的參數調用我的SP,這裏有一些問題:如果我啓動我的測試套件,它將無法返回錯誤的結果(例如,當我期待3個結果時有1個結果,等等......)。但是,如果我以調試模式啓動我的測試套件,單步執行測試代碼,則不會發生錯誤。此外,如果我發現錯誤的結果並嘗試重新執行給出錯誤結果的SP(只需在錯誤條件中放置條件斷點並在Visual Studio上拖動執行指針...),則重新執行將返回正確的結果!
我該怎麼辦?
任何想法?
非常感謝您的幫助!
再見cghersi
您是否在這些測試運行中操縱全文索引?這些索引需要時間來構建,並且在相關語句完成時*不一定是完全構建的。單步/重新運行顯然會給索引操作更多時間來完成 – 2012-02-16 08:00:02
這正是點!我在測試套件中添加了5秒的睡眠時間,現在一切正常。非常感謝你! – 2012-02-16 18:30:44
我相信,你可以查詢系統視圖來發現索引是否是最新的 - 我不知道它們是否是我的頭頂 - 但它們會比在測試中包含固定延遲更好。 – 2012-02-16 19:09:20