我很難找出什麼是最好的,或者如果有差異, 但是我還沒有找到任何材料來幫助我理解這個,所以我會問這個問題,如果不是我的話,那麼對於其他可能以相同情況結束的人來說。SQL - 加入後加入聚合查詢或聚合/總和?
聚合子查詢之前或之後加入,在我的具體情況,子查詢是相當緩慢的,由於分散的數據和壞的正常化過程,
我有一個主查詢,是非常複雜的和從3個小查詢構建的子查詢(使用聯合組合)(將刪除重複記錄) 我只需要來自此子查詢的單個值(對於每行),因此在某些時候,我將最終求和這個數值(連同分組必要的控制數據,所以我可以加入)
什麼wi會產生最大的影響?
- 綜上所述子查詢之前的連接,然後用聚集的版本加入
- 爲了保持數據原,然後與主查詢的其餘部分一起求和值
請記住,每條線都會有數千條記錄彙總在一起,並且數據不是原生的,而是構建的,因此可能駐留在內存中, (這只是來自查詢優化器角度的猜測)
我發現這兩種方法太慢,所以我不能測試,看看什麼是最好的,感謝您的答案,我現在試圖從不同的方法 – bonitzenator