sql server2005的表变量与临时表效率实测 导入Excel与检测数据质量

本文通过实验对比了表变量与临时表在不同数据量下的性能表现,结果显示,在小数据量下临时表表现较好,但随着数据量的增加,其性能反而下降。测试环境对结果也有一定影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

A表:即登记表,数据量12万条

方案1:EXCEl文件一个,数据量2500条

方案2:2500条基础上,再加1万条。再次导入,导入前检测A表,不导入已有记录,同时输出这些已导入的记录。

 

 

建临时表B1,变量表B2

 

一、导入2500条情况如下:B1上有索引,有主键;B2上无主键;B2上有主键

 

 

 

项目               B2                   B2(设主健)                 B1        

CPU            2844                  406                            407

Reads       123477            39172                          47329

writes           63                      62                          64

duration     4236                 1916                         1839

 

2500条情况下,有主键与索引的临时表B1具有优势突出;但在B2B也设置主键后,二者相差不大。

 

 

二、在已经导入2500条基础上,再增加1万条。

 

结果出乎意料。根据前两天我转帖的资料来看,应该是数据量越大,临时表优势更突出,甚至会出现用表变量时会反应不过来的情况。

但是,才在1万来条导入时,临时表居然就没反应了......几分钟都无反应......只得出了用表变量时的结果:

 

费时 7494秒。

 

如果不检测数据质量而是直接导入,12000条记录10个字段大约需要1秒多钟。因为检测数据中还有十多个多表或子查询,占用了大部分的资源。

 

结论一:

用表变量,还是用临时表,有时还得按机子情况与需求做些实测才能确定。

 

 

结论二:我的台式机已经很落后了。用K125  CPU的上网本,居然费时更少。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值