业务描述:
A服务器将大约30万条客户数据数据通过xml文件同步到B服务器,B服务器接收到文件后数据入库。这30万条数据有新增数据也有修改数据B服务器中可能存在的最大数据量是大约200万条(卡号)
目前的做法:XmlTextReader读取xml,使用SqlBulkCopy写入一张中间表,再使用MSSql的merge功能向B服务器目标表更新数据请教有无更为高效的办法,谢谢大家!

解决方案 »

  1.   

    有没有试过用sp_xml_preparedocument过程,直接解析XML后处理数据
      

  2.   

    可以尝试使用SSIS创建SSIS包,通过XML语法直接操作XML文件加载数据,使用MERGE语法导入数据。使用JOB定期调用。
    这样就省掉了XMLTEXTREADER读取XML的过程,SSIS的导入导出功能应该是比较高效的,貌似也是使用的BULKCOPY/或者是BULKINSERT的机制,具体机制要翻翻书才晓得。