gpt4 book ai didi

c# - SQLite-net Table<>()方法调用性能

转载 作者:搜寻专家 更新时间:2023-10-30 20:51:08 25 4
gpt4 key购买 nike

我正在将 SQLite-net 库与 Xamarin 一起使用,我有一个问题。哪个调用更好或更快?

var item = sQLiteConnection.Table<User>().FirstOrDefault(e => e.Id == myobject.Id);

或者

var item = sQLiteConnection.Table<User>().Where(e => e.Id == myobject.Id).FirstOrDefault();

最佳答案

哪个都好。

它们都延迟运行 - 如果源列表有一百万个项目,但第十个项目匹配,那么两者都只会从源中迭代 10 个项目。

性能应该几乎相同,任何差异都微不足道。

但是

我开始收到“等待操作超时”。在大型数据集上使用 Where(query).FirstOrDefault()。当我将其更改为 FirstOrDefault(query) 时,我就不再看到它了

当我比较这两种方法时,我得到的差异是超过 150,000 个项目的时间为 1 毫秒(不是每个项目 1 毫秒,所有 150,000 个项目都是 1 毫秒)。因此,基于您的 500 x 1,000 项查询,每天大约需要 0.003 毫秒。意义不大

但我个人更喜欢 FirstOrDefault(query)

关于c# - SQLite-net Table<>()方法调用性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43067211/

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