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

news/2024/10/4 9:36:17/

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

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

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

使用插件:Mono.Data.Sqlite 


http://www.ppmy.cn/news/1534338.html

相关文章

2024年7月大众点评天津美食店铺基础信息

在做一些城市分析、学术研究分析、商业选址、商业布局分析等数据分析挖掘时,大众点评的数据参考价值非常大,截至2024年7月,大众点评美食店铺剔除了暂停营业、停止营业后的最新数据情况分析如下。 天津餐饮美食店铺约8.6万家,有均…

【算法竞赛】尺取法

尺取法(又称为双指针、Two Pointers)是算法竞赛中一个常)用的优化技巧,用来解决序列的区间问题,操作简单,容易编程。如果区间是单调的,也常常用二分法求解,所以很多问题用尺取法和二分法都行。另外,尺取法的操作过程和分治算法的步骤很相似,有时也用在分治中。 概念 什么是尺…

Splashtop 加入 Microsoft 智能安全协会

2024年9月25日 美国加利福尼亚州库比蒂诺 Splashtop Inc . 今天宣布已正式加入 Microsoft 智能安全协会(MISA)。MISA 由独立软件供应商(ISV)和托管安全服务提供商(MISA)组成,他们将其解决方案与…

RUP:用例驱动、以架构为中心的迭代增量开发模式

1 RUP特点 Rational Unified Process(RUP),即Rational统一过程,二维的开发模型,涉及九大工作流,是一种为了满足这些需求而生的开发模式。RUP是一个用例驱动、以架构为中心的迭代增量开发模式,可以帮助我们更好地进行软…

C++:采用模板封装顺序表,栈,队列

1.顺序表&#xff1a; list.hpp #ifndef LIST_HPP #define LIST_HPP #include <iostream>using namespace std;template <class L>class Seqlist { private:L *ptr;L size;L len0;public:void init(L n){//堆区申请空间&#xff08;大小为n&#xff09;this->…

浅谈stm32的GPIO引脚配置模式

STM32的GPIO&#xff08;通用输入输出&#xff09;引脚可以被配置为多种模式&#xff0c;以适应不同的应用场景。下面介绍一些一些常见的STM32 GPIO引脚模式&#xff1a; 模拟输入模式&#xff08;Analog Input Mode&#xff09;&#xff1a;在这种模式下&#xff0c;GPIO引脚被…

2、Spring Boot 3.x 集成 Feign

一、前言 本篇主要是围绕着两个点&#xff0c;1、集成 Feign&#xff0c;2、分离feign接口层&#xff0c;独立服务&#xff1b; 还有一点就是上篇文章的服务 iot-channel、system-server 服务名称调整成为了 chain-iot-channel、chain-system二、搭建 chain-common 服务 pom.…

C# (.net6)实现Redis发布和订阅简单案例

概念&#xff1a; 在 .NET 6 中使用 Redis 的/订发布阅模式。发布/订阅&#xff08;Pub/Sub&#xff09;是 Redis 支持的一种消息传递模式&#xff0c;其中一个或多个发布者向一个或多个订阅者发送消息,Redis 客户端可以订阅任意数量的频道。 多个客户端可以订阅一个相同的频道…