需求反馈
请清晰准备地描述问题场景、需求行为及背景信息,更有利于产品同学及时跟进需求
【需求涉及的问题场景】
- 经常会有一些比较简单的LBS场景,比如要查询附近30km内的人,而且还可以根据一些条件筛选(比如性别)和排序(比如分数,或者是距离)
- 虽然可以用Redis的geoHash去做但是没办法支持过滤和排序,MySQL5.7和8的版本已经支持了一些空间索引的特性,虽然不能像Postgis那样复杂但是也够用了。
【期望的需求行为】
- 能支持简单的LBS查询
- 希望在较大数据量(千万级别)的情况下性能不错,因为一般这种查询的cache不太好加
- 另外一般空间索引和普通的联合索引是不能同时使用到?可能需要先用子查询筛出来附近的数据,然后再在里面进行过滤和排序,我不知道能不能同时使用到2种索引
【需求可替代方案】
- MySQL的空间索引,这个我没有具体用过所以不太清楚语法
- Redis的GEORADIUS
【背景信息】
一些比较简单的LBS场景,如查询附近的人,查询附近的动态