笔记190 sqlserver 临时表 Vs 表变量 详细介绍 循环插入100条记录 SELECT TOP ( 100 )

笔记190 sqlserver 临时表 Vs 表变量 详细介绍 循环插入100条记录   SELECT TOP ( 100 )

 1 --sqlserver 临时表 Vs 表变量 详细介绍 循环插入100条记录   SELECT TOP ( 100 )
 2 --详细出处参考:http://www.jb51.net/article/28788.htm
 3 USE tempdb
 4 GO
 5 SET nocount ON
 6 EXEC sp_spaceused
 7 /*插入数据之前*/
 8 DECLARE @1 TABLE ( ID INT, Nr NVARCHAR(50) )
 9 INSERT  INTO @1
10         ( ID ,
11           Nr
12         )
13         SELECT TOP ( 100 )
14                 row_number() OVER ( ORDER BY a.object_id ) ,
15                 LEFT(a.name + b.name, 50)
16         FROM    sys.all_objects AS a ,
17                 sys.all_columns AS b
18 SELECT TOP ( 1 )
19         name ,
20         object_id ,
21         type ,
22         create_date
23 FROM    sys.objects
24 WHERE   type = 'U'
25 ORDER BY create_date DESC
26 EXEC sp_spaceused /*插入数据之后*/
27 GO
28 EXEC sp_spaceused /*Go之后*/
29 --说明SQL Server自动释放为使用的数据空间,但不会马上自动释放数据库分配的磁盘空间。
30 --我们在实际的环境中,发现临时数据库tempdb使用的磁盘空间越来越大,这是其中的原因之一

 

posted @ 2013-08-04 13:04  桦仔  阅读(704)  评论(0编辑  收藏  举报