首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >计算场的优化排序

计算场的优化排序
EN

Stack Overflow用户
提问于 2021-03-17 11:42:34
回答 1查看 38关注 0票数 0

有表usersaddress。第二个表的列geo具有几何学类型。在搜索用户期间,在服务器上发送当前的同弦,并通过这样的sql请求计算距离:

代码语言:javascript
运行
复制
SELECT 
   FLOOR(ST_Distance_Sphere(point(lng, lat), `geo`)) as distance 
FROM 
  address 
WHERE
  condition 

它工作得很好,但我也需要根据这个领域进行分类,这需要大量的时间。有人能建议如何优化它吗?

MySQL5.7

EN

回答 1

Stack Overflow用户

发布于 2021-03-18 19:54:49

经典问题。没有快速的解决办法。所有解决方案都需要在WHERE中添加一个“边界框”,加上一些利用该边界框的索引。这是我关于这个问题的“论文”,还有详细的解决方案:http://mysql.rjweb.org/doc.php/find_nearest_in_mysql

我假设小时“条件”包括

代码语言:javascript
运行
复制
WHERE distance < 100

代码语言:javascript
运行
复制
ORDER BY distance LIMIT 10
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66672389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档