当前位置: 首页 > news >正文

(c#)unity中sqlite多线程同时开启事务会导致非常慢

        在程序使用sqlite后,变慢了4秒.看看插入量,并不多,还开了事务,怎么都不可能卡上4秒.测了好久才发现,多线程一起开事务就变成单线程了.

        其实原先我就看到了这个说法,还测试过.当时测试发现速度很快,没受影响.我误以为是只有提交事务时才变单线程.原来是因为当时多线程使用的是同一个连接,所以没受影响.后来发现同一个连接在多线程一起用事务有时会报错,就改成了每个线程独立连接,然后从开启线程到提交的整个过程就会变成单线程.所以多线程中用事务的话要尽量缩短开启到提交的时间.我中间有大量其它代码,所以就很慢.

        因为害怕多线程一起修改时报错,sqlite相关的设置基本是默认的serialize这种.我看到说两个线程同时想要写数据库有可能发生死锁而报错,不敢开更不安全的设置.真要两个线程一起写就可能死锁而报错也太不安全了,不知道是一直这样还是已经修复了?有懂的没?

使用插件:Mono.Data.Sqlite 


http://www.mrgr.cn/news/41820.html

相关文章:

  • python 棒棒糖图
  • python中的copy方法
  • Java - LeetCode面试经典150题 - 区间 (三)
  • 详解JavaScript中的闭包
  • 从零开始搭建UVM平台(八)-加入agent
  • Spring 框架和Spring Boot
  • Dave Cheney: Go语言之禅
  • 【AI知识点】损失函数(Loss Function)
  • “衣依”服装销售平台:Spring Boot技术驱动的创新
  • JAVA的三大特性-封装、继承、多态
  • Python--解决从Hugging Face的服务器下载某个预训练模型或其相关的文件问题
  • 手机使用指南:如何在没有备份的情况下从 Android 设备恢复已删除的联系人
  • preconnect 预解析
  • Python--导入模块报错处理
  • 【数据库差异研究】update与delete使用表别名的研究
  • 快速上手 Java:给已经学会 C++ 的开发者的指南
  • 理解无监督学习、无监督图像分割
  • <<迷雾>> 第6章 加法机的诞生(1)--全加器 示例电路
  • 【运维类资料集】实施运维方案(word)
  • PostgreSQL升级:使用pg_upgrade进行大版本(16.3)升级(17.0)