Sqlite 分库查询 怎么按需配置成多线程或单线程查询
yangjieshao opened this issue · comments
实测分库查询日志型数据
在硬盘是SSD的时候 多线程同时查询多个库会更快
在硬盘是HHD的时候 单线程按顺序查询多个库会更快
(HHD 查多个库 测试下来有出现过 多线程查询比单线程查询慢十多倍的情况 分的库文件越多越慢)
所以有办法设置分库查询是多线程查询还是单线程查询么?
直接用异步就行,sqlite异步性能最好
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();