小编Chi*_*ngi的帖子

与下次运行相比,sql查询需要很长时间

我正在运行一个程序,第一次执行大约需要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)

sql sql-server performance stored-procedures

5
推荐指数
1
解决办法
5407
查看次数

标签 统计

performance ×1

sql ×1

sql-server ×1

stored-procedures ×1