3.
@拒绝柳岩99次,我也遇到过这种情况,网上找了半天都没有很好的解决,还是问一位大佬指点之下反复修改语句做到分页了秒开,简单模糊搜索基本秒开。
小菜狗我菜就菜怎么了? https://76wp.cn奇乐网
4.
php使用xunsearch或者elsaticsearch(不知道拼对没有)
不仅可以全文搜索,速度还很快!!!!
至于sphinx对中文不友好。
当然,xs和es都需要在linux安装,光会php,mysql确实没什么用
红米Note7 高配版(黑色)
6. 没有几千万谈优化,你怕不是搞笑的,放SQL出来才能找出问题,建索引不是唯一办法。
7.
@拒绝柳岩99次,在没有全文索引的情况下使用模糊匹配(LIKE),要解决分页慢问题,必须进行缓存。
必须进行缓存。我只能这样说。无论缓存在哪里都可以。如果你的数据库支持缓存,你就没必要自己做。但是如果你的数据库不支持,每次都全量匹配,那你就必须在第一次的时候把没分页的查询结果缓存到其他地方,以后每次都从缓存读取。
比如虎绿林的搜索就缓存了。所以第一页可能很慢,但是以后每页都很快。
如果你还想进一步优化,就只能考虑全文索引了。但是不要对它的性能有不切实际的幻想:在文字多到一定程度的时候,查询全文索引本身就很慢,所以缓存还是必要的。而且很多全文索引方式不支持中文。
8.
@老虎会游泳,全文检索确实快很多,但是查询精度差距很大,用like得到的结果1w+,全文检索得到的结果只有400+。
9.
@拒绝柳岩99次,其实这就是全文检索对中文的支持不好,分词不准确,某些内容就搜不到。
10. 还是老虎说得好啊,什么每个分类文章数,近n天的文章数,阅读量超m的文章数,关于某关键词的文章。。大小网站都可以做到每天统计当天的这些数据再保存起来,也不一定非得是缓存。查询的时候加法这些结果就行了嘛。