当下有一个需求,在用户传入一个坐标之后,后端需要给出某一距离范围内的所有店铺,并根据位置距离排序。对于此需求有两种解决方式,其一是利用MySQL的ST_GeomFromText进行地理查询;其二是将所有店铺数据读取,再利用GlobalCoordinates等三方库进行数据筛选排序。在具体实现的过程中,哪一种方式效率比较高
3条回答 默认 最新
关注 仅供参考:
一般来说,利用MySQL的ST_GeomFromText进行地理查询应该更加高效,因为这种方式可以让MySQL直接利用空间索引进行搜索,而不需要将所有店铺数据读取到内存中再进行筛选。如果您采用MySQL的ST_GeomFromText进行地理查询,建议在数据库中创建一个空间索引,以加快查询速度。通过使用空间索引,MySQL将会自动过滤掉距离范围之外的店铺,并按照距离排序。这样,查询结果集中只包含您需要的数据,可以有效减少数据传输量,提高查询效率。
相比之下,将所有店铺数据读取到内存中再进行筛选排序的方式,需要先将所有店铺数据读入内存,然后再对数据进行筛选和排序。如果数据量较大,可能会导致内存消耗过高,甚至导致系统崩溃。
综上所述,使用MySQL的ST_GeomFromText进行地理查询应该是更好的选择,可以提高查询效率,并减少内存消耗。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 对于这个问题的解释说明
- ¥200 询问:python实现大地主题正反算的程序设计,有偿
- ¥15 smptlib使用465端口发送邮件失败
- ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
- ¥15 对于squad数据集的基于bert模型的微调
- ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
- ¥20 steam下载游戏占用内存
- ¥15 CST保存项目时失败
- ¥15 树莓派5怎么用camera module 3啊
- ¥20 java在应用程序里获取不到扬声器设备