Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 解析的查询效率_Ios_Swift_Parse Platform - Fatal编程技术网

Ios 解析的查询效率

Ios 解析的查询效率,ios,swift,parse-platform,Ios,Swift,Parse Platform,我正在使用一个跟踪用户位置的应用程序,并保存要解析的路线信息。现在,我将位置保存在一个类中,类名是位置所在国的名称,城市是键之一。这意味着,将来当应用程序检查某人是否已进入某个特定城市时,它会查询parse以所需城市作为类名的类,我会使用query.whereKeyCity,equalTo:queryCity约束来查看在该位置使用该应用程序的人数。把所有的地点放在一个类中,用两个键,即国家和城市,然后在我需要检索信息时查询这两个键,效率是高还是低 从本质上说,我想问的是哪一个查询更有效,是否有差

我正在使用一个跟踪用户位置的应用程序,并保存要解析的路线信息。现在,我将位置保存在一个类中,类名是位置所在国的名称,城市是键之一。这意味着,将来当应用程序检查某人是否已进入某个特定城市时,它会查询parse以所需城市作为类名的类,我会使用query.whereKeyCity,equalTo:queryCity约束来查看在该位置使用该应用程序的人数。把所有的地点放在一个类中,用两个键,即国家和城市,然后在我需要检索信息时查询这两个键,效率是高还是低

从本质上说,我想问的是哪一个查询更有效,是否有差异

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


i、 e.让parse搜索我的类,还是让parse搜索键更好。

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

当然,由于TCP开销、连接建立等原因,两个请求比只有一个具有较大数据的请求的成本更高。在大多数情况下,这可能并不重要。所以你可以用任何一种方法

但是,如果您仍然需要查询中的数据来继续,我建议您将其合并到一个查询中

编辑

因此,您想知道如何组织数据。这完全取决于你。我不认为这有什么区别。但是,使用第二种方法,您没有标准化的数据。也就是说,在不太可能但可能的情况下,您要重命名一个国家,您必须在每一行都这样做,这是非常容易出错的

第一种方法并不是更好,因为一个特定的国家不是单一的阶级,而是阶级国家的实现。因此,你基本上想做的是:

类别国家/地区-带有属性名称等。 类City-具有属性名称等,并引用国家/地区表中的objectId
我不完全理解您试图做什么,但一般来说,API的限制因素是您通过网络发送的数据。因此,您应该考虑向API发送请求,只需要您真正需要的数据

当然,由于TCP开销、连接建立等原因,两个请求比只有一个具有较大数据的请求的成本更高。在大多数情况下,这可能并不重要。所以你可以用任何一种方法

但是,如果您仍然需要查询中的数据来继续,我建议您将其合并到一个查询中

编辑

因此,您想知道如何组织数据。这完全取决于你。我不认为这有什么区别。但是,使用第二种方法,您没有标准化的数据。也就是说,在不太可能但可能的情况下,您要重命名一个国家,您必须在每一行都这样做,这是非常容易出错的

第一种方法并不是更好,因为一个特定的国家不是单一的阶级,而是阶级国家的实现。因此,你基本上想做的是:

类别国家/地区-带有属性名称等。 类City-具有属性名称等,并引用国家/地区表中的objectId
通过采用第一种方法,您将在Parse中为每个国家创建一个新类,这将是一个需要维护的噩梦,尤其是当您的国家列表是动态的时

在性能方面,我认为这两种方法的查询时间不会有显著差异。所以这是个人偏好的问题


希望这有帮助

采用第一种方法,您将在Parse中为每个国家创建一个新类,这将是一个需要维护的噩梦,尤其是当您的国家列表是动态的时

在性能方面,我认为这两种方法的查询时间不会有显著差异。所以这是个人偏好的问题


希望这有帮助

请看我的编辑来更具体地定义我的问题,我已经在底部添加了代码来澄清我编辑的文章。如果有任何不清楚的地方,请告诉我。请查看我的编辑以更具体地定义我的问题,我在底部添加了代码以澄清我编辑的帖子。如果有什么不清楚的地方,请告诉我。您的代码有点混乱。每个国家都有Parse课程吗?你在用这段代码“var query=pfquerycassname:queryCountry”做什么?是的,目前每个国家都有一个parse类。我使用的是swift,所以在这段代码中,我将查询定义为PFQuery,使用的类名是我感兴趣的任何国家的名称。基本上,用户跟踪他们自己的位置,然后他们还可以看到还有谁在他们的位置签入,而查询所指的正是这一部分。
我希望这会有帮助。你的代码有点混乱。每个国家都有Parse课程吗?你在用这段代码“var query=pfquerycassname:queryCountry”做什么?是的,目前每个国家都有一个parse类。我使用的是swift,所以在这段代码中,我将查询定义为PFQuery,使用的类名是我感兴趣的任何国家的名称。基本上,用户跟踪他们自己的位置,然后他们还可以看到还有谁在他们的位置签入,而查询所指的正是这一部分。我希望这有帮助。
var query = PFQuery(classname: "Locations")
query.whereKey("Country", equalTo: queryCountry)
query.whereKey("City", equalTo: queryCity)
query.findObjectsInBackgroundWithBlock()