兩個超級大表HASH,開並行並且不廣播

li__hl8888發表於2016-05-18
  1.   
  2. AA和B關聯,AA和B返回結果很大,開並行HASH後依然很慢,所以定位內斂檢視AA上,結果AA執行速度確實很慢  
  3.   
  4. 用脫衣服大法將AA扒衣服後,就剩TS_MX_SUBSCRIBE A,TS_UH_TRADE_FINANCE B,(SELECT DISTINCT C.PRODUCT_CODE,C.PRODUCT_NAME FROM TF_P_PRODUCT C) C 三個  
  5.   
  6. TS_MX_SUBSCRIBE  ,TS_UH_TRADE_FINANCE 過濾後都是150w條資料, TF_P_PRODUCT 資料少,但是和其他表是1:N關係,所以三個表走HASH  
  7.   
  8. 但是執行計劃裡面20 12 和28 29 都是兩個超級大表HASH,並且是全表掃描,這嚴重影響SQL效率  
  9.   
  10. 這時候,應用羅總牛逼犀利威武淫蕩的最佳化技巧:兩個超級大表HASH,開並行並且不廣播,成功將SQL從50分鐘最佳化到4分鐘!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8568259/viewspace-2102527/,如需轉載,請註明出處,否則將追究法律責任。

相關文章