业务要求:根据APP当前位置,取得距离最近的10条记录,再次刷新时,取得后10条最近的数据。。。
我考虑的思路:
■思路1:
查询出数据库中所有的数据,根据两点的经度和纬度计算得到距离。再按照距离排序。缺点是,如果数据库有100万条数据,每次取出来,效率会很慢。
■思路2:
SQL查询语句中,取得两点间,经度和纬度差值的绝对值,以从小到大排序,取得前10条即可。这样查出来的数据量就比较小了。
正确的思路到底是什么呢,不知道别人的APP距离排序怎么个算法。
★Java
算法是什么呢??
★APP客户端传递的参数
1:当前位置所在地址
2:当前位置的经度
3:当前位置的纬度
★数据库中表字段。
1:城市名
2:地址
3:经度
4:纬度
我考虑的思路:
■思路1:
查询出数据库中所有的数据,根据两点的经度和纬度计算得到距离。再按照距离排序。缺点是,如果数据库有100万条数据,每次取出来,效率会很慢。
■思路2:
SQL查询语句中,取得两点间,经度和纬度差值的绝对值,以从小到大排序,取得前10条即可。这样查出来的数据量就比较小了。
正确的思路到底是什么呢,不知道别人的APP距离排序怎么个算法。
★Java
算法是什么呢??
★APP客户端传递的参数
1:当前位置所在地址
2:当前位置的经度
3:当前位置的纬度
★数据库中表字段。
1:城市名
2:地址
3:经度
4:纬度