在SQL语句中如果发生了类型转换,则可能导致索引无法使用。
即便和索引无关,但数据类型转换需要的开销也将影响性能。
案例1
-
SET timing ON
-
DECLARE
-
j PLS_INTEGER := 0;
-
BEGIN
-
FOR i IN 1..1000000 LOOP
-
j := i + 1;
-
IF j = 1000 THEN
-
dbms_output.put_line(\'abc\');
-
END IF;
-
END LOOP;
-
END;
-
/
-
-
Elapsed: 00:00:00.06
-
-
--有类型转换
-
DECLARE
-
j PLS_INTEGER := 0;
-
BEGIN
-
FOR i IN 1..1000000 LOOP
-
--有类型转换
-
j := i + \'1\';
-
IF j = 1000 THEN
-
dbms_output.put_line(\'abc\');
-
END IF;
-
END LOOP;
-
END;
-
-
Elapsed: 00:00:00.22
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/17013648/viewspace-1072200/
,如需转载,请注明出处,否则将追究法律责任。