U**G项目数据同步问题
2010-05-08 22:51
155 查看
最近项目中,需要使用到数据同步这个功能,客户老系统使用的是Acces2003数据库,现在需要把里面的所有数据都导入的到MSSQL2005中来。新的客户端需要这个功能,点击同步按钮以后,就需要把Access里面做的数据新增、修改和删除都全部反应到MSSQL2005数据库里面来。之前考虑了很多种方案,但是都最终否决掉了。
现在采用的是每次同步,分段同步,每个表为一个段,同步表的时候,先清除掉这表里面的所有数据,再插入Access里面最新的数据,但是,但是Access数据库里面的表数据有的可以到达200W。
现出现问题:
1、有个表出现了100W条数据,但是只有两个字段,全部读到DataSet里面的话,可能要读上好几秒甚至上10秒以上,插入的时候出现过很大的问题,常规插入需要10多分钟,经过查资料,使用了System.Data.SqlClient.SqlBulkCopy这个类,进行操作,结果几秒钟插入成功,问题暂时解决,可能会出现问题2出现的问题,暂时没发现。
2、有个表出现了8W数据,虽说没有上个表的数据量庞大,但是,字段却比较多,这个表,我在读到DataSet里面的时候,出现假死了,怎么都没有反应,这个问题暂时还没有解决,本来考虑的使用表数据量到达一定的数量,分段进行插入,但是问题有出现了,客户Access有的表里面没有主键,分段查询的话,性能很低,这个问题暂时都还没解决。
上面问题总结,主要可能现在的问题,出现在大数据量读入到DataSet中的问题,Access没有主键分页查询的问题。
PS:开始一直都没有考虑先删除再插入的数据这种方案,不过,暂时没想到好的了,字段做比较的话,很纠结。。。
现在采用的是每次同步,分段同步,每个表为一个段,同步表的时候,先清除掉这表里面的所有数据,再插入Access里面最新的数据,但是,但是Access数据库里面的表数据有的可以到达200W。
现出现问题:
1、有个表出现了100W条数据,但是只有两个字段,全部读到DataSet里面的话,可能要读上好几秒甚至上10秒以上,插入的时候出现过很大的问题,常规插入需要10多分钟,经过查资料,使用了System.Data.SqlClient.SqlBulkCopy这个类,进行操作,结果几秒钟插入成功,问题暂时解决,可能会出现问题2出现的问题,暂时没发现。
2、有个表出现了8W数据,虽说没有上个表的数据量庞大,但是,字段却比较多,这个表,我在读到DataSet里面的时候,出现假死了,怎么都没有反应,这个问题暂时还没有解决,本来考虑的使用表数据量到达一定的数量,分段进行插入,但是问题有出现了,客户Access有的表里面没有主键,分段查询的话,性能很低,这个问题暂时都还没解决。
上面问题总结,主要可能现在的问题,出现在大数据量读入到DataSet中的问题,Access没有主键分页查询的问题。
PS:开始一直都没有考虑先删除再插入的数据这种方案,不过,暂时没想到好的了,字段做比较的话,很纠结。。。
相关文章推荐
- 项目中遇到通过使用路由策略实现主从数据库访问数据不同步的问题
- [置顶] 解决项目中不同进程中使用SharedPreferences存取数据不同步的问题
- U**G项目数据同步问题(解决篇)
- 数据同步问题,请各位高手相救!!
- hibernate做数据同步时的问题
- 关于gridview插入数据后,不能同步刷新的问题
- SQL Server 2005数据同步技术遇到的问题及解决方案
- 在项目过程中,解决将后台的数据在前台显示出来的问题。
- 个人外包项目全记 - Best Partner (十六)数据同步1
- 个人外包项目全记 - Best Partner (十九)数据同步4
- 现场解决项目问题之实例—如何核查报表数据
- glmis项目工作日志4_解决RecyclerView中使用CheckBox时出现数据错乱的问题。
- 你真的了解触发器么 数据实时同步更新问题剖析
- solr 7+tomcat 8 + mysql实现solr 7基本使用(安装、集成中文分词器、定时同步数据库数据以及项目集成)
- 触发器调用带有参数的存储过程不能使数据同步的问题
- tomcat cluster session同步时保存map数据遇到的问题
- 同步项目中需要用到百万条数据分页,测试完毕
- 分布式集群项目中同步DB数据的解决方案之Canal
- 关于Elasticsearch使用jdbc-river同步数据每次追加的问题
- php 高并发下数据同步的问题