gpt4 book ai didi

c# - SQLite Net PCL 慢 SELECT 查询

转载 作者:行者123 更新时间:2023-11-30 05:06:05 31 4
gpt4 key购买 nike

我在 Xamarin.Android 应用程序上使用 SQLite,当我选择表中的所有记录(大约 44000 条)时,大约需要 25000 毫秒,因此,每秒大约 1700~ 次选择。

选择速度不应该更快吗?我尝试了一些不同的东西,并设法将时间从 27000 毫秒缩短到 25000 毫秒。

代码如下:

    public List<T> SelectAll() 
{
try
{
using (var conn = new SQLiteConnection(DATABASE_PATH, true))
{
Stopwatch w = new Stopwatch();
w.Start();

conn.BeginTransaction();
var result = conn.Table<T>.ToList();
conn.Commit();


w.Stop();
var millis = w.ElapsedMilliseconds;
return result;
}
}
catch (SQLiteException ex)
{
Log.Info(TAG + " - " + SUB_TAG, "There was an exeption selecting data from database: " + ex.Message);
throw;
}
}

我尝试从表中选择所有行的方式有问题吗?

我试过用conn.Table().ToList(),结果差不多,只是相差100ms

最佳答案

至少离开泛型类型是不寻常的。由于您已经知道要从哪个表查询,因此最好使用 conn.Query<yourType>而不是 conn.Query<T> .
同样适用于 List<T> .
希望对您有所帮助。

关于c# - SQLite Net PCL 慢 SELECT 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54578934/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com