有这样一个场景,我有一张商家表,一个商品表,和一个商家货架表,根据门店距离升序,商品销量降序,商品价格升降序
门店信息表
距离排序需要用到 lat 和 lng 字段
门店有对应的货架数据,货架数据主要记录商品
货架表
商品表
前端查询数据有分页,每次查询数据我基本都是把全部门店信息查出来,然后循环,在查询对应的货架表在连表差商品表,然后获取销量最高的那一条商品信息。
这种方式导致,如果商品数据过多会导致接口响应时间会比较长,之前测试数据商品表 300 + 数据接口响应大概在 3s-5s 左右
以下是对应接口代码代码
最后返回商品信息和对应门店信息在分页,以下是返回后的后续代码
其中 getGoodsUnavailableTime 获取商品的不可用时间,又查了一次数据库,当然这个就比较快。
getMerchants 获取商品对应的适用门店,也是查了数据库,然后里面又去查了门店的评价统计数量和门店评分
感觉如果商品数据在多点的话,查询数据库会把程序拖死,如果在来点并发就更容易噶了,想看看有没有什么好点的解决办法可以解决查询慢的问题,主要是解决慢的问题
页面展示图
推荐文章: