目前有两个系统,硬件系统后台用的是oracle,每天定时生成3w条数据到后台,然后还有个软件系统,用的SQL server,目前是从oracle取数然后更新到SQL对应表里,想问一下一般更新3W条数据需要多久,目前需要4、5个小时。
更新应该有一些业务规则吧,最好设置一下表的填充因子不要太大,这样可以提高更新效率。
那要看你这个一条数据数据是什么。是一个数据模型,涉及很多表。还是一条数据就对应一个表里面的一行。如果是后者且行内容不大。3W条数据4个小时串行执行算下来一条数据的更新也是480ms。即使是单库单表也称的上太慢了。。
就这么说吧,6,7年前曾经做过一次数据清洗,其中有一张17亿的表,然后对其进行清洗加工(涉及几十个字段从其他表进行更新,这些表很多也都是好几亿的表,繁简转换,数据的剔除等),最初的清洗脚本开始预估耗时大概需要一个月可以完成清洗转换。最后通过优化一共耗时不到4小时搞定。
最后通过dblink投放至生产全部搞定6小时左右。
所以按你的3万条数据,依据服务器的情况不同速度快慢,我认为处理速度在几秒钟左右是比较合理的,不应该超过1分钟。