您的位置:首頁技術文章
文章詳情頁

mysql - 如何減少使用或者不用LEFT JOIN查詢?

瀏覽:101日期:2022-06-13 14:55:38

問題描述

問題解答

回答1:

單獨查詢,使用鍵值對

回答2:

很簡單也很實用的一個方案就是建立中間表, 用空間換時間。

另外當數據量大到一定程度情況下,考慮分庫分表,可以看看mycat中間件。

回答3:

個人建議先一個個表排除看是哪個表影響查詢的速度,確定是哪個表之后,然后再根據其做索引優化

回答4:

從數據庫優化角度出發,最后結果就一個數count(*)大量的關聯導致內存消耗跟時間浪費.

給個思路吧:將sql結果做成如下:

mysql - 如何減少使用或者不用LEFT JOIN查詢?

最后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

相關文章:
国产综合久久一区二区三区