请教批量更新和多线程更新的效率?
我对数据库基本上是完全不懂的,所以描述的不够专业的地方请多原谅。
我们这边有个数据库,数据库会被非常频繁的插入数据(100条/秒),与此同时还会有查询数据库的操作,还有更新数据库的操作。目前更新数据库部分比较耗时。我的解决方案是采用定时批量插入的方式,另一位同事建议采用多线程逐条插入的方式,请问哪种效率高?或者大家有没有更好的方式来做这件事情?
谢谢!
------解决方案--------------------据我了解,插入不费时间嘛,插入就完了。如果是更新的话,最好限制好条件,避免一些不必要的数据也更新了而浪费时间。也就是只更新需要更新的数据。
------解决方案--------------------默认隔离级别下
#1.INSERT 操作互不阻塞,不用担心
#2.UPDATE操作如果索引不合适,会相互阻塞。
#3.在满足业务的前提下,定时批UPDATE方式综合较好;多线程单UPDATE稍弱。但要想性能好:1.批操作的量不能太大,要有合适的索引。
------解决方案--------------------1、定时批量插入 .不知道你用循环sql语句还是sqlbulkcopy,用sqlbulkcopy效率很高是普通的10倍。
2."多线程逐条更新 " 你这里的多线层 是指你在后台使用多线层吧。跟sql效率完全是两码事。。