APP所需的数据采集大体已经结束,统计了一下数据条数,它是这样的:java
等了大约秒:web
这时候的数据量是多少呢,不到万条。整体数据条数大约在
万左右。大概算一下从客户端发出请求到得到返回数据大概须要
分钟 ,我见到的延迟
分钟的应用大概是这个了。显然,个人这个数据库查询是有问题滴~数据库
那么问题出在哪里呢 ?问题可能出如今不少方面。不妨先放下来看一下别人是怎么实现的。服务器
创建书目表和书详情表,这样能够把数据规模缩小
,带来的性能提高仍是很可观的。app
果真,此次在万条数据中查询用了
秒,已经接近官方的数据了。jsp
放弃前缀模糊匹配性能
这应该已经脱离优化的范畴了,为了速度而牺牲了数据的准确性。秒的延迟彻底在可接受的范围以内,可是在数据量巨大的状况下,有必要进行前缀后缀匹配吗?以关键词
为例,前缀模糊查询耗时
秒得到
条结果,后缀模糊查询耗时
秒得到
条结果,相差约
条记录。思考一下app开发的初衷:给用户推荐更好的书。一本书质量的最终判断应该交给用户。所以,将用户引导至书架更为重要。因此牺牲一部分准确性是可行的。测试
删减部分陈旧的书优化
仍是以为例,在模糊匹配的
本书中,出现了大量的这种书:3d
种
,即大约有
加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱 !加钱