我正在设计一个android应用程序,用户可以输入那里的地址,它将获取方圆300英里范围内的酒吧/俱乐部/餐馆列表。
它目前的工作方式是,用户输入他/她的地址,然后应用程序发送一个调用到RESTful服务(Asp),然后选择每个酒吧/俱乐部/餐馆,检查距离用户位置的距离,将距离300英里内的任何一个放入一个数组中,并在完成后以json格式返回结果。
问题是这真的很慢,因为它必须从数据库中选择每个酒吧/俱乐部/餐馆并计算距离(我有大约20k行数据)。
整个过程的平均响应时间(用户点击搜索将信息显示在手机上)大约是6-8秒,我想把它降低到大约1-2秒
有没有更好的方法来解决这个问题呢?必须选择所有记录并检查每条记录的距离是导致问题的原因。
发布于 2016-03-23 06:38:44
你没有目的地的GPS定位吗?如果仍然有20k的结果是300英里,你可以异步渲染半径增加的地方。但这是真的..。为什么是300英里?!另一件事是,我认为它是300英里的公路,这几乎是不可能的驾驶,如果是这样,你可以加载时,用户移动地图,而不是一次…
https://stackoverflow.com/questions/36137656
复制相似问题