gpt4 book ai didi

java - 谷歌应用引擎: How much faster is key-based lookup compared to a query?

转载 作者:行者123 更新时间:2023-12-02 08:31:17 25 4
gpt4 key购买 nike

假设我想检索 4 个对象。什么会更快:

1. for (int i = 0; i < 4; i++) {

persistenceManager.getObjectById(object1)

}

2. Query = (select * from objects where id == 'id1' || id == 'id2' || id == 'id3' || id == 'id4')

谢谢

最佳答案

通过给出一个包含多个实体和 OR 语句的示例,您使问题变得有点复杂。 (主要问题是基于键的查找与基于查询的查找。)数据存储本身不支持联合操作(“OR”)。因此,在幕后,您的第二个示例将执行 4 个查询,每个 id 一个查询。

查询通常比键查找慢,因此 4 个查询通常会比 4 个 ID 获取慢。到底慢多少或快多少取决于您的实体,但这几乎总是一个非常显着的差异。

但是,在这种情况下,您的查询仅使用 id 字段。应用程序引擎中的 Datanucleus JDO 层足够智能,可以识别仅使用 id 的查询,并尝试执行仅键批处理操作。 (请参阅 here )这应该是最快的选项。

更新:显然,最近版本的 sdk 中查询和键之间的差异已经减少,如 here. 中所述。

关于java - 谷歌应用引擎: How much faster is key-based lookup compared to a query?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3282287/

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