我对数据库基本上是完全不懂的,所以描述的不够专业的地方请多原谅。我们这边有个数据库,数据库会被非常频繁的插入数据(100条/秒),与此同时还会有查询数据库的操作,还有更新数据库的操作。目前更新数据库部分比较耗时。我的解决方案是采用定时批量插入的方式,另一位同事建议采用多线程逐条插入的方式,请问哪种效率高?或者大家有没有更好的方式来做这件事情?谢谢!

解决方案 »

  1.   

    默认隔离级别下
    #1.INSERT 操作互不阻塞,不用担心
    #2.UPDATE操作如果索引不合适,会相互阻塞。
    #3.在满足业务的前提下,定时批UPDATE方式综合较好;多线程单UPDATE稍弱。但要想性能好:1.批操作的量不能太大,要有合适的索引。
      

  2.   

    1、定时批量插入 .不知道你用循环sql语句还是sqlbulkcopy,用sqlbulkcopy效率很高是普通的10倍。
    2."多线程逐条更新 "  你这里的多线层 是指你在后台使用多线层吧。跟sql效率完全是两码事。。
      

  3.   

    sqlbulkcopy慎用,小心锁表问题。