我正在SQL Server上基於視圖運行查詢。這個視圖的主要數據源是一個包含近5000萬行數據的表格。幾個星期以來,我一直在運行查詢,並在大約20分鐘內完成。我試過最近運行它,它是無法使用的。生產第一批1,000行產品需要超過2.5小時的時間。SQL查詢突然放慢到抓取
下面是查詢中的代碼。我注意到的是,當我刪除'where'和'having'語句以及'sum'時,查詢會再次快速運行。顯然這不是一個解決方案。
select YEAR, BUSINESS_GROUP, STATE, PRODUCT, sum(AGE_01_REVENUE) REVENUE
from dbo.VW_PRODUCTS
where YEAR='2015'
group by YEAR, BUSINESS_GROUP, STATE, PRODUCT
having sum(AGE_01_REVENUE) <> 0
你能發佈執行計劃嗎?桌上有沒有索引? – Thilo 2015-02-09 15:07:19
查詢計劃是否告訴您任何有用的信息,例如任何建議的索引? – 2015-02-09 15:08:01
你的一年真的是一個字符?也許有轉換髮生導致問題。 – 2015-02-09 15:09:02