优匠科技:短视频app开发中数据查询的优化调整

发布时间:2020-07-02 00:00:00.0 阅读量:683人次 来源:优匠科技(www.hshkj.com.cn)
在短视频领域,当前正面临着行业转变和洗牌,有竞争优势的可以继续发光发热,无法满足市场需求的很快就被淘汰。那么,一款好的短视频app开发就需要好的用户体验,纵观行业中蒸蒸日上的热门APP,通过定位功能获取附近动态消息的功能是大多数产品所必须具备的。那么,对于数据的精准性和实时性以及数据展示速度就有了更高的要求。


短视频app开发从技术角度而言,附近功能就是通过经纬度的交叉,确定当前用户所在位置,并且通过距离函数计算出以当前用户为中心,指定半径范围内或者按照距离远近来排序后确定其他用户距离当前用户的距离,以此来展现实时数据。


短视频app开发在大多数的思路就是在代码查询时,先从数据库中把先前用户发布视频时的经纬度跟其他数据一块查出来,然后通过距离算法计算出与当前用户经纬度之间的距离,然后再通过计算的结果进行排序,这样无疑会增加代码的计算过程和运算周期,在数据量大的情况下运行效率也会大打折扣。


那么在短视频app开发中,我们可以有更好的优化方法,就是在数据查询时就将我们需要计算的结果查询出来,这样就可以减少一步,当数据量大的时候,这一步就显得非常重要了。既然有了思路,那么,从哪里来解决呢?答案就是在数据库中。以MySQL数据库为例,在数据库中,有以下几项:




我们通过点击函数,会有函数的相关操作




点击新建函数:




类型选择函数,点击完成




在BEGIN和END之间写入距离计算方法,并通过RETURN将计算结果返回。


注意:参数列表、返回类型及函数类型要做相关配置。




点击保存时为方法起个别名即可,这里我们起名为getDistance,那么此函数就会出现在数据库函数列表中。】





在程序读取数据中,我们就可以直接使用该数据库函数进行数据查询了

代码:->select("uid,avatar,avatar_thumb,user_nicename,title,province,city,stream,lng,lat,pull,isvideo,thumb,islive,type,type_val,game_action,goodnum,anyway,getDistance('{$lat}','{$lng}',lat,lng) as distance") ->order("distance asc")->limit($start,$pnum)->fetchAll();


这样,我们在数据查询时就已经通过getDistance方法将距离计算好了,直接就可以通过该结果将数据进行排序,简单快捷。


以上就是短视频app开发中关于距离计算和数据查询时的优化,如果有其他问题或技术探讨,欢迎关我们注,我们会定期更新行业热门数据分析和代码技术文档,欢迎大家共同探讨,共同进步!


延伸阅读

————————————————


“广州优匠科技”是一家由经验丰富的技术设计开发团队创办的软件外包公司。专注于小程序、公众号、APP、软件系统等相关技术的定制与开发。


优匠科技深耕在互联⽹服务领域多年,拥有几百多家的成功案例与资深的专业技术团队,能够帮助企业解决很多技术上的难题。


公司多年来一直都是用“匠心精神”去做好技术和产品服务。如有兴趣合作或是产品开发需求的朋友,欢迎前来咨询了解!!
填写您的服务需求获取项目报价。

*请认真填写需求信息,我们会在24小时内与您联系。

© Copyright 2017- 广州优匠科技有限公司 粤公网安备 44011302003178号 粤ICP备18032239号

与我们取得联系