支持简单的LBS查询(空间索引)

需求反馈
请清晰准备地描述问题场景、需求行为及背景信息,更有利于产品同学及时跟进需求
【需求涉及的问题场景】

  1. 经常会有一些比较简单的LBS场景,比如要查询附近30km内的人,而且还可以根据一些条件筛选(比如性别)和排序(比如分数,或者是距离)
  2. 虽然可以用Redis的geoHash去做但是没办法支持过滤和排序,MySQL5.7和8的版本已经支持了一些空间索引的特性,虽然不能像Postgis那样复杂但是也够用了。

【期望的需求行为】

  1. 能支持简单的LBS查询
  2. 希望在较大数据量(千万级别)的情况下性能不错,因为一般这种查询的cache不太好加
  3. 另外一般空间索引和普通的联合索引是不能同时使用到?可能需要先用子查询筛出来附近的数据,然后再在里面进行过滤和排序,我不知道能不能同时使用到2种索引

【需求可替代方案】

  1. MySQL的空间索引,这个我没有具体用过所以不太清楚语法
  2. Redis的GEORADIUS

【背景信息】
一些比较简单的LBS场景,如查询附近的人,查询附近的动态

2赞

相关讨论 https://github.com/pingcap/tidb/issues/6347