我從來沒有在存儲過程中使用索引,所以我在尋求幫助,因爲我的一個報告使用的是運行速度較慢的。我有一份水晶報告,這是一份老齡化報告。在過程本身中,它正在創建一個臨時表。它使用表格臨時表的表格有很多數據,很多信息正在被拖動。最終結果是報告需要永遠運行。除了在臨時表上創建索引之外,還有其他任何建議都值得歡迎,並感謝您閱讀此代碼。代碼如下。在Crystal Report SQL服務器中使用的存儲過程創建索引2008
Create procedure [dbo].[ST_Stored] @AsofDate datetime
as
--drop table #rectodate
declare @rectodate table (transid INT, transrowid INT, reconsum REAL)
INSERT into @rectodate
select transid, transrowid, sum(reconsum) as reconsum
from itr1
where reconnum in (select reconnum from oitr where recondate <[email protected])
group by transid, transrowid
select t0.transid, t2.cardcode,
case when t0.debit <> 0 then t0.debit - isnull(t1.reconsum,0) else 0 end as OpenDebit,
case when t0.credit <> 0 then t0.credit - isnull(t1.reconsum, 0) else 0 end as OpenCredit,
t0.debit, t0.credit,*
from jdt1 t0 left outer join @RecToDate t1
on t0.transid = t1.transid and t0.line_id= t1.transrowid
left join OINV t2 on t2.CardCode=t0.ShortName
join oslp on oslp.slpcode = t2.slpcode
where t0.refdate [email protected] and t2.slpcode=5
order by t0.transid, t2.cardcode, t0.refdate
感謝您的建議,我會嘗試。但是,我可以在臨時表上創建索引嗎? – user2363530
@ user2363530:你有沒有試過,至少? –
是的,我試過了,它不推薦任何。 jdt1表上已經有一個聚集索引。 – user2363530