DotNetNext / SqlSugar

.Net aot ORM Fastest ORM Simple Easy VB.NET Sqlite orm Oracle ORM Mysql Orm 虚谷数据库 postgresql ORm SqlServer oRm 达梦 ORM 人大金仓 ORM 神通ORM C# ORM , C# ORM .NET ORM NET5 ORM .NET6 ORM ClickHouse orm QuestDb ,TDengine ORM,OceanBase orm,GaussDB orm ,Tidb orm Object/Relational Mapping
https://www.donet5.com/Home/Doc
MIT License
5.31k stars 1.33k forks source link

Sqlite 分库查询 怎么按需配置成多线程或单线程查询 #1190

Closed yangjieshao closed 1 year ago

yangjieshao commented 1 year ago

实测分库查询日志型数据 在硬盘是SSD的时候 多线程同时查询多个库会更快 在硬盘是HHD的时候 单线程按顺序查询多个库会更快 (HHD 查多个库 测试下来有出现过 多线程查询比单线程查询慢十多倍的情况 分的库文件越多越慢)

所以有办法设置分库查询是多线程查询还是单线程查询么?

DotNetNext commented 1 year ago

直接用异步就行,sqlite异步性能最好

DotNetNext commented 1 year ago

var ts = new List(); for (int i = 0; i < 1000; i++)//建议一次执行Task不工 { ts.Add(Task.Run(async () => { var newDb=db.CopyNew();//并发中保证线程安全 await newDb.Queryable().FirstAsync();//异步提升并发性能 })); } Task.WhenAll(ts).GetAwaiter().GetResult();