我想在 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