Home  >  Article  >  Database  >  多种临时表效率的对比分析

多种临时表效率的对比分析

WBOY
WBOYOriginal
2016-06-07 16:10:091237browse

多种临时表效率的对比分析 老帅(20141107) 平时在写存储过程的时候,经常会用到临时表,而临时表的用法到底有几种,哪种效率更好呢?我们来做个对比分析。 实验数据:表a有400万条记录,只查询一个字段Title 1. 直接查询 --开启时间分析 SET STATISTICS TI

多种临时表效率的对比分析老帅(20141107)平时在写存储过程的时候,经常会用到临时表,而临时表的用法到底有几种,哪种效率更好呢?我们来做个对比分析。实验数据:表a有400万条记录,只查询一个字段Title
1. 直接查询--开启时间分析SET STATISTICS TIME ON
GO--查询SELECT Title FROM a --结果SQL Server 执行时间:占用时间 = 22013 毫秒。
2.变量表--开启时间分析SET STATISTICS TIME ON
GO--插入DECLARE @tmpA TABLE( Title VARCHAR(200))INSERT INTO @tmpASELECT Title FROM a--查询SELECT * FROM @tmpA--结果SQL Server 执行时间:占用时间 = 22913 毫秒。
3.临时表--开启时间分析SET STATISTICS TIME ON
GO--插入CREATE TABLE #tmpA( Title VARCHAR(200))INSERT INTO #tmpASELECT Title FROM a--查询SELECT * FROM #tmpA--结果SQL Server 执行时间:占用时间 = 22743 毫秒。
4.不创建临时表,直接插入到临时表--开启时间分析SET STATISTICS TIME ON
GO--插入SELECT * INTO #tmpA FROM(SELECT Title FROM a) AS b--查询SELECT * FROM #tmpA--结果SQL Server 执行时间: 占用时间 = 22671 毫秒。
5.使用WITH AS临时表--开启时间分析SET STATISTICS TIME ON;--插入WITH tmpA AS(SELECT Title FROM a)--查询SELECT * FROM tmpA--结果SQL Server 执行时间:占用时间 = 22188 毫秒。
通过以上的分析,很容易看出哪种方法效率更高了。在存储过程中尽量使用临时表来存储临时数据,不要使用变量表。
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn