ITPub博客

首页 > 数据库 > Oracle > 避免数据类型转换

避免数据类型转换

原创 Oracle 作者:luisedalian 时间:2014-01-17 15:15:55 0 删除 编辑

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/,如需转载,请注明出处,否则将追究法律责任。

下一篇: IF的顺序有讲究
请登录后发表评论 登录
全部评论

注册时间:2012-02-06

  • 博文量
    1986
  • 访问量
    5643758