如果用PLS_INTEGER值運算,Oracle會使用原生機器算法其他的所有數值型的數據類型都和NUMBER數據類型一樣使用C語言算法庫結果就是
如果用PLS_INTEGER值運算,,Oracle會使用原生機器算法
其他的所有數值型的數據類型都和NUMBER數據類型一樣使用C語言算法庫
結果就是PLS_INTEGER值的處理速度比NUMBER型的整數快很多
而且,PLS_INTEGER在移植硬件平臺時不會遇到兼容性問題
對于密集型的整數運算,Think建議大家使用PLS_INTEGER
不過,如果頻繁的PLS_INTEGER和NUMBER型的數據交互,還是建議一開始就使用NUMBER
如果對精度有要求,也請不要使用,因為PLS_INTEGER用于整數運算,結果會取整
小實驗測試一下:
hr@ORCL> ed
Wrote file afiedt.buf
1 DECLARE
2 j PLS_INTEGER :=0;
3 BEGIN
4 FOR i IN 1..1000000
5 LOOP
6 j:=i+1;
7 IF j=1000
8 THEN
9 dbms_output.put_line('Hello Think');
10 END IF;
11 END LOOP;
12* END;
hr@ORCL> /
Hello Think
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.28
hr@ORCL> ed
Wrote file afiedt.buf
1 DECLARE
2 j NUMBER :=0;
3 BEGIN
4 FOR i IN 1..1000000
5 LOOP
6 j:=i+1;
7 IF j=1000
8 THEN
9 dbms_output.put_line('Hello Think');
10 END IF;
11 END LOOP;
12* END;
hr@ORCL> /
Hello Think
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.36
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com