我剛剛使用Sql Server 2008數據庫項目將數據庫導入到Visual Studio項目。在解決了Visual Studio突出強調的許多問題後,我現在只剩下兩個與提示索引有關的問題。 2個警告(與引起語句)是數據庫模式曖昧索引提示問題
SELECT a.FI, a.GD
FROM [RME].[dbo].[BP_RN] a with(index(idx_GD))
WHERE GD.STWithin(@Geometry) = 1
SQL04151:步驟:[DBO] [sp_TNFRME] 包含未解決的引用的 對象。或者該對象不存在 或參考是不明確的 ,因爲它可以指任何 下列對象: [DBO] [BP_RN] [idx_GD]或 [DBO] [idx_GD]。
和
SELECT a.I
FROM [dbo].[N] a with(index(idx_G))
WHERE a.G.STIntersects(@Geometry) = 1
SQL04151:步驟:[DBO] [sp_DIOQE] 包含未解決的引用的 對象。或者對象不存在 或者參考不明確 ,因爲它可能引用以下對象中的任意一個 :[dbo]。[idx_G]或 [dbo]。[N]。[idx_G]。
我之所以列出兩個獨立的原因是因爲第一個是查詢一個單獨的數據庫,我不知道這是否意味着它需要以不同的方式解決。
無論如何,我的問題是我如何解決這個錯誤或完全限定提示,所以它不再含糊不清?
感謝
我有同樣的問題,除了刪除提示,找不到解決方案。如果在開發過程中的某個時候,指數對於被測試的數據的選擇性不夠,即太多的行與選擇標準相匹配,那麼似乎有用或必要。我要測試是否有更真實的空間數據,有任何理由不刪除提示。 – 2013-01-03 09:31:57
沒關係。只是意識到數據庫引擎不會跟蹤空間索引的統計信息,因此可能幾乎總是需要使用提示。這篇文章並在查詢計劃中親眼看到它幫助我得到:-) http://www.bostongis.com/PrinterFriendly.aspx?content_name=sql2008_tut03 – 2013-01-03 10:38:46