查的时候总是查询时间很长,动不动就超时,有没有什么好的解决方案啊
![]() | 1 RedBeanIce 2021-03-08 09:35:19 +08:00 你又不问优化,一句空白的话问出来。又有什么用。 MySQL 优化指南,请。 |
![]() | 2 xuanbg 2021-03-08 09:45:24 +08:00 啥情况都不说,那也只能 MySQL 优化指南自己看了 |
![]() | 3 wangritian 2021-03-08 09:57:52 +08:00 兄弟,你回头看自己提的问题,能看懂吗?提问一定要尽量精简的给出全部信息啊 |
![]() | 4 Umenezumi 2021-03-08 10:00:00 +08:00 「 JOIN 」 竟然还拼错了。。 |
5 tankren 2021-03-08 10:25:21 +08:00 JOIN |
6 phpfpm 2021-03-08 10:27:43 +08:00 优化 join 的方式是不要写 join 。 改成子查询+多次查询。 拼接数据的过程请交给代码。 太复杂的逻辑增加临时表之类的 |
![]() | 7 zhuzhibin 2021-03-08 10:44:05 +08:00 哈哈 这个老哥幽默 |
![]() | 8 clf 2021-03-08 10:58:49 +08:00 JOIN on 的相关字段建好索引能优化 join 的效率。 考虑把常用的条件字段塞到一个表里,单表条件搜索完毕后再用关联字段去另外一个表里取数据。 |
![]() | 9 linxiaojialin 2021-03-08 12:23:02 +08:00 如 6 楼所言。具体点就是: 如果 join 是为了获取更多的字段,可以改成多次查询(留意 N+1 的问题),拼接数据的过程请交给代码; 如果 join 是为了筛选,可以用 where in,where exist 等等子查询; 以上基本就能解决,如果还不行,再考虑临时表。 |
10 littlewing 2021-03-08 19:47:09 +08:00 业务代码自己处理,不用 join |