gpt4 book ai didi

ios - 使用 Parse 查询效率

转载 作者:搜寻专家 更新时间:2023-11-01 06:09:59 26 4
gpt4 key购买 nike

我正在使用一个跟踪用户位置并保存路线信息以供解析的应用程序。就目前而言,我将位置保存在一个类中,其类名是所在国家/地区的类名,城市是关键之一。这意味着将来当应用程序检查是否有人已 checkin 特定城市时,它会查询解析以所需城市作为类名的类,我使用 query.whereKey("City", equalTo: queryCity) 约束以查看有多少人在该位置使用了该应用程序。使用两个键(国家和城市)将所有位置放入一个类中,然后在我需要检索该信息时查询这两个键,效率会更高还是更低?

本质上,我想问的是这些查询中哪一个是更有效的查询,是否存在差异。

var query = PFQuery(classname: queryCountry)
query.whereKey("City" equalTo: queryCity)
query.findObjectsInBackgroundWithBlock()

var query = PFQuery(classname: "Locations")
query.whereKey("Country", equalTo: queryCountry)
query.whereKey("City", equalTo: queryCity)
query.findObjectsInBackgroundWithBlock()

即是让解析搜索我的类更好,还是搜索键更好。

最佳答案

我不完全明白你想做什么,但一般来说,API 的限制因素是你通过网络发送的数据。因此,您应该考虑向 API 发送请求,并只请求您真正需要的数据。

当然,对于更大的数据,两次请求比一次请求的成本更高(由于 TCP 开销、连接建立等)。大多数时候它可能并不重要。所以你可以用任何一种方式来做。

但是,如果您无论如何都需要来自查询的数据才能继续,我建议您应该将其合并到一个查询中。

编辑

所以您想知道如何组织您的数据。好吧,这完全取决于你。我不认为这有什么不同。但是,使用第二种方法您没有规范化数据。 IE。在不太可能但可能发生的情况下,您想要重命名一个国家/地区,您必须在每一行中都这样做,这很容易出错。

第一种方法并没有好多少,因为一个特定的国家不是一个单一的类,而是 Country 类的一个实现。所以你本质上想要做的是:

  • Country - 具有 name 等属性
  • City 类 - 具有 name 等属性以及对 Country 表中 objectId 的引用

关于ios - 使用 Parse 查询效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27798752/

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