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

    技术2024-06-29  64

    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的上网本,居然费时更少。

     

     

     

     

    最新回复(0)