我正在运行一个程序,第一次执行大约需要1分钟,但下次会减少到大约9-10秒.经过一段时间后,大约需要1分钟.
我的程序是使用单个表,它有6个非聚簇索引和1个聚簇索引,唯一的id列是uniqueidentifier数据类型,有1,218,833行.
你能指导我在哪里出现问题/可能的性能提升吗?
提前致谢.
这是程序.
PROCEDURE [dbo].[Proc] (
@HLevel NVARCHAR(100),
@HLevelValue INT,
@Date DATE,
@Numbers NVARCHAR(MAX)=NULL
)
AS
declare @LoopCount INT ,@DateLastYear DATE
DECLARE @Table1 TABLE ( list of columns )
DECLARE @Table2 TABLE ( list of columns )
-- LOOP FOR 12 MONTH DATA
SET @LoopCount=12
WHILE(@LoopCount>0)
BEGIN
SET @LoopCount= @LoopCount -1
-- LAST YEAR DATA
DECLARE @LastDate DATE;
SET @LastDate=DATEADD(D,-1, DATEADD(yy,-1, DATEADD(D,1,@Date)))
INSERT INTO @Table1
SELECT list of columns
FROM Table3 WHERE Date = @Date
AND
CASE
WHEN …Run Code Online (Sandbox Code Playgroud)