我已經爲SRSS報告編寫了一個查詢,該報告應該從maximo中檢索項目列表。SQL查詢從多行中獲取最新信息 - 太慢
它包括有多少商品存在,如果他們有收到和/或發佈日期(如果是的話最新日期)以及當時的單位成本。
雖然它返回我想要的,但運行速度非常緩慢,直到它在報告中使用時似乎永遠不會加載。 5000行花費21秒(並且maximo中已經有> 100k個交易!)。我如何返回單位成本以使其更快?它運行迅速,沒有單位成本線。
查詢
select top 5000 item.commoditygroup, item.itemnum, item.description, item.commodity, inventory.location, inventory.siteid,
(select sum(curbal) from invbalances where item.itemnum = invbalances.itemnum group by itemnum) CurrentBalance,
(select max(Convert(varchar(10), matrectrans.transdate, 103)) from matrectrans
where item.itemnum = matrectrans.itemnum and matrectrans.issuetype='RECEIPT') ReceivedDate,
(Select m1.unitcost from matrectrans m1
where m1.transdate = (select max(m2.transdate)from matrectrans m2 where item.itemnum = m2.itemnum and m2.issuetype='RECEIPT' and linecost <> 0)) RecievedUnitCost,
(select max(Convert(varchar(10), matusetrans.transdate, 103)) from matusetrans
where item.itemnum = matusetrans.itemnum and matusetrans.issuetype='ISSUE') IssueDate,
(Select m3.unitcost from matusetrans m3
where m3.transdate = (select max(m4.transdate)from matusetrans m4 where item.itemnum = m4.itemnum and m4.issuetype='ISSUE' and linecost <> 0)) IssuedUnitCost
from item, inventory
where item.itemnum = inventory.itemnum
感謝
如果您發佈所涉及的表的結構,這就幫,他們是如何聯繫在一起,以及您想要查詢的內容。 –
請你也可以添加執行計劃的圖像。我懷疑這是因爲你沒有足夠的索引設置 – sarin