文章詳情頁
mysql - 如何減少使用或者不用LEFT JOIN查詢?
瀏覽:98日期: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 - 分庫分表、分區、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處2. css - 移動端 oppo 手機之 Border-radius3. 人工智能 - python 機器學習 醫療數據 怎么學4. 關于Mysql聯合查詢5. 如何修改phpstudy的phpmyadmin放到其他地方6. javascript - vue-echarts-v3使用的過程中折線圖區域呈漸變色。7. python 計算兩個時間相差的分鐘數,超過一天時計算不對8. 索引 - 請教下Mysql大數據量的聯合查詢9. pip安裝提示Twisted錯誤問題(Python3.6.4安裝Twisted錯誤)10. 爬蟲圖片 - 關于Python 爬蟲的問題
排行榜
