数据量如果大的话就做一下mysql的表分区。
如果用户和问题比较均衡可以用user_id来分区。
如果大部分数据都是采集的就用question_id来分区。
网站打开特别慢,基本上要8秒以上,看了一下数据库慢日志是相似问题标签的问题,去掉以后速度恢复正常,这个怎么弄哦,谢谢。
# Query_time: 6.078081 Lock_time: 0.000025 Rows_sent: 5 Rows_examined: 208493
SET timestamp=1562230920;
select * from `ask_questions` where (select count(*) from `ask_tags` inner join `ask_taggables` on `ask_tags`.`id` = `ask_taggables`.`tag_id` where `ask_taggables`.`taggable_id` = `ask_questions`.`id` and `ask_taggables`.`taggable_type` = 'App\\Models\\Question' and `tag_id` in ('902')) >= 1 order by `created_at` desc limit 6;