文章详情页
mysql - 如何减少使用或者不用LEFT JOIN查询?
浏览:224日期:2022-06-13 14:55:38
问题描述
问题解答
回答1:单独查询,使用键值对
回答2:很简单也很实用的一个方案就是建立中间表, 用空间换时间。
另外当数据量大到一定程度情况下,考虑分库分表,可以看看mycat中间件。
回答3:个人建议先一个个表排除看是哪个表影响查询的速度,确定是哪个表之后,然后再根据其做索引优化
回答4:从数据库优化角度出发,最后结果就一个数count(*)大量的关联导致内存消耗跟时间浪费.
给个思路吧:将sql结果做成如下:

最后count(*)等于每一行数量相乘最后相加,即:(数量11*数量12*...*数量16)+(数量21*...*数量26)以减少大量的笛卡尔积.
sql:
select t_for_sale.id, nvl(t1.count1, 0), ...left join (select id, count(*) count1 from t_user group by id) t1 on t1.id=t_for_sale.id....from t_for_sale
相关文章:
1. mysql插入文本如果是个sql语句就报错了2. 求解答:访问不了虚拟服务器的问题?3. 如何设置一个无限循环并打破它。(Java线程)4. java - 为什么此私有静态变量能被访问呢?5. css3 - 微信前端页面遇到的transition过渡动画的bug6. javascript - onclick事件点击不起作用7. python - type="datetime-local" 的 input 如何通过 django form.is_valid() 校验8. php - 两个表数据怎么插到一个模板中,并按时间排序?9. web服务器 - ubuntu下布置apache加wsgi加python10. nginx和web服务都跑在docker容器里时,nginx负载均衡如何配置服务的IP地址
排行榜

网公网安备