避免資料型別轉換

LuiseDalian發表於2014-01-17

SQL語句中如果發生了型別轉換,則可能導致索引無法使用。

即便和索引無關,但資料型別轉換需要的開銷也將影響效能。

案例1

點選(此處)摺疊或開啟

  1. SET timing ON
  2. DECLARE
  3.   j PLS_INTEGER := 0;
  4. BEGIN
  5.   FOR i IN 1..1000000 LOOP
  6.     j := i + 1;
  7.     IF j = 1000 THEN
  8.       dbms_output.put_line(\'abc\');
  9.     END IF;
  10.   END LOOP;
  11. END;
  12. /

  13. Elapsed: 00:00:00.06

  14. --有型別轉換
  15. DECLARE
  16.   j PLS_INTEGER := 0;
  17. BEGIN
  18.   FOR i IN 1..1000000 LOOP
  19.     --有型別轉換
  20.     j := i + \'1\';
  21.     IF j = 1000 THEN
  22.       dbms_output.put_line(\'abc\');
  23.     END IF;
  24.   END LOOP;
  25. END;

  26. Elapsed: 00:00:00.22

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

相關文章