課程實踐(一)

LuiseDalian發表於2014-01-18
避免常見錯誤

注意:

開啟SQL*Plus時間顯示

每次執行之前都要執行@flush清空記憶體

所有指令碼均存在於$HOME/solutions/Common_Mistakes目錄中

案例一

將相關子查詢方式改為內聯檢視方式


點選(此處)摺疊或開啟

  1. --採用相關子查詢的方式(bad)
  2. SELECT COUNT(*)
  3. FROM products p
  4. WHERE prod_list_price < 1.15 * (SELECT AVG(unit_cost) FROM costs c WHERE c.prod_id = p.prod_id);

  5.   COUNT(*)
  6. ----------
  7.         46

  8. Elapsed: 00:00:00.33

  9. --採用非相關子查詢的方式(good)
  10. SELECT COUNT(*)
  11. FROM products p, (SELECT prod_id, AVG(unit_cost) ac FROM costs GROUP BY prod_id) c
  12. WHERE p.prod_id = c.prod_id AND p.prod_list_price < 1.15 * c.ac;
  13.   COUNT(*)
  14. ----------
  15.         46

  16. Elapsed: 00:00:00.16

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

相關文章