#temp临时表-@t表变量-CTE 数据比较

--1.#temp临时表
SET STATISTICS TIME ON
SET STATISTICS IO ON


SELECT FID,FOrderNumber,FUserID,FCompanyID,FCreateTime,FGameID,FGamePlayID,FPeriodID,FStatus 
INTO #temp
FROM dbo.TOrders
WHERE FID<=500

SELECT * FROM #temp

TRUNCATE TABLE #temp
DROP TABLE #temp


SET STATISTICS TIME OFF
SET STATISTICS IO OFF
 SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。
表 'TOrders'。扫描计数 1,逻辑读取 12 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

(452 行受影响)

(1 行受影响)

 SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 49 毫秒。
SQL Server 分析和编译时间: 
   CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

(452 行受影响)
表 '#temp_______________________________________________________________________________________________________________00000000000C'。扫描计数 1,逻辑读取 4 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

(1 行受影响)

 SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 143 毫秒。

 SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

 SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

 

--2.@t表变量
SET STATISTICS TIME ON
SET STATISTICS IO ON


DECLARE @t TABLE 
(
    FID INT,
    FOrderNumber VARCHAR(100),
    FUserID INT,
    FCompanyID INT,
    FCreateTime DATETIME,
    FGameID INT,
    FGamePlayID INT,
    FPeriodID INT,
    FStatus TINYINT
)
INSERT INTO @t (FID,FOrderNumber,FUserID,FCompanyID,FCreateTime,FGameID,FGamePlayID,FPeriodID,FStatus)
SELECT FID,FOrderNumber,FUserID,FCompanyID,FCreateTime,FGameID,FGamePlayID,FPeriodID,FStatus  
FROM dbo.TOrders
WHERE FID<=500

SELECT * FROM @t


SET STATISTICS TIME OFF
SET STATISTICS IO OFF 
 SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。
表 '#A1610C89'。扫描计数 0,逻辑读取 455 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。
表 'TOrders'。扫描计数 1,逻辑读取 12 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

(452 行受影响)

(1 行受影响)

 SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 27 毫秒。

(452 行受影响)
表 '#A1610C89'。扫描计数 1,逻辑读取 4 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

(1 行受影响)

 SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 156 毫秒。

 

--3.cte
SET STATISTICS TIME ON
SET STATISTICS IO ON


;WITH cte (FID,FOrderNumber,FUserID,FCompanyID,FCreateTime,FGameID,FGamePlayID,FPeriodID,FStatus)
AS
(
    SELECT FID,FOrderNumber,FUserID,FCompanyID,FCreateTime,FGameID,FGamePlayID,FPeriodID,FStatus  
    FROM dbo.TOrders
    WHERE FID<=500
)

SELECT * FROM cte


SET STATISTICS TIME OFF
SET STATISTICS IO OFF 
 SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

(452 行受影响)
表 'TOrders'。扫描计数 1,逻辑读取 12 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

(1 行受影响)

 SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 116 毫秒。

 

 

posted @ 2017-04-14 01:39  茗::流  阅读(296)  评论(0)    收藏  举报
如有雷同,纯属参考。如有侵犯你的版权,请联系我。