0

我想在 C# 中使用 CLR Proc 替换 SP 中的两个 While 循环 有人可以帮忙吗 我们想优化应用程序的性能 一些更好的想法非常受欢迎,提前谢谢这是我的代码片段。

SET nocount ON

DECLARE @maxsize INT
DECLARE @x INT
DECLARE @starttime1 datetime
DECLARE @stoptime1 datetime
DECLARE @starttime2 datetime
DECLARE @stoptime2 datetime

CREATE TABLE #temp (
    [Alternate Name] VARCHAR(100),
    [Size] INT,
    [Creation Date] CHAR(8),
    [Creation Time] CHAR(6),
    [Last Written Date] CHAR( 8),
    [Last Written Time] CHAR(6),
    [Last Accessed Date] CHAR(8),
    [Last Accessed Time] CHAR(6),
    [Attributes] INT
    )

SET @x = 0 
SET @starttime1 = GETDATE()
WHILE @x < 20
    BEGIN 
    SET @x = @x + 1
    INSERT INTO #temp 
       EXEC master.dbo.tsql_getfiledetails_OLE 'C:\temp\longfilename.txt'
    END

SET @stoptime1 = GETDATE()
SET @x = 0 
SET @starttime2 = GETDATE()

WHILE @x < 20
    BEGIN 
    SET @x = @x + 1
    INSERT INTO #temp EXEC master.dbo.xp_getfiledetails 'C:\temp\longfilename.txt'
END

SET @stoptime2 = GETDATE()
SELECT DATEDIFF(ms,@starttime1, @stoptime1) ole_duration, 
    DATEDIFF(ms,@starttime2,@stoptime2) clr_duration 

DROP TABLE #temp
4

0 回答 0