oracel 數值型資料效率比較

2021-07-25 16:11:07 字數 2070 閱讀 3477

create table t_number(a number);

create table t_integer(a integer);

create table t_pls_integer(a number);

create table t_binary_integer(a number);

create table t_binary_float(a number); 

--1,測試number型別的insert,number是一種表示數字的資料型別。可以宣告它

--儲存資料型別的證書和小數字的精度,在資料庫中是以十進位制格式儲存,在計算時,

--系統誰將其變為二進位制進行運算,佔32個字元

declare

v_upper number;

begin

v_upper := 3000000;

for i in 1 .. v_upper loop

insert into t_number values (i);

end loop;

end;

--已用時間 :00 :00 :00.484

--2.418

--30.342

--155.658

--2,測試integer型別的insert

declare

v_upper integer;

begin

v_upper := 3000000;

for i in 1 .. v_upper loop

insert into t_integer values (i);

end loop;

end;

--已用時間 :00 :00 :00.53

--2.605

--27.721

--168.918

--3,測試pls_integer型別的insert

--有符號的整數,其範圍是-2的31次方~2的31次方,可以直接進行數**算

--進行的運算發生溢位是,會觸發異常,與number相比其占用空間小而且效能更好

declare

v_upper pls_integer;

begin

v_upper := 3000000;

for i in 1 .. v_upper loop

insert into t_pls_integer values (i);

end loop;

end;

--已用時間 :00 :00 :00.499

--2.606

--26.879

--162.928

--4,測試binary_integer型別的insert

declare

v_upper binary_integer;

begin

v_upper := 3000000;

for i in 1 .. v_upper loop

insert into t_binary_integer values (i);

end loop;

end;

--已用時間 :00 :00 :00.858

--2.372

--26.832

--162.724

--5,測試binary_float型別的insert

declare

v_upper binary_float;

begin

v_upper := 3000000;

for i in 1 .. v_upper loop

insert into t_binary_float values (i);

end loop;

end;

--已用時間 :00 :00 :00.483

注:以上皆是為《oracle開發實戰經典》,但經過作者的實驗僅僅就insert

而言效能差距不明顯,歡迎其他人繼續測試並聯絡作者交流

三種數值型資料交換的比較

本文主要介紹三種數值型資料交換方法間的比較 比如要交換的資料分別為a和b 1 方法一 通過新增乙個中間值的方式來交換,如下 a和b為整型資料,定義乙個中間的整型數值temp,temp a a b b temp 2 方法二 define swap a,b a a b b a b a a b 該方法需要...

mysql資料插入效率比較

做資料插入時,發現之前上班做哪些辦公系統壓根就沒考慮過資料庫效能這些,因為涉及的資料量小,時間和效率看不出來,可當資料量很大了,大到了每秒需要10000次插入時,這時就不得不考慮你的sql 語句了。當插入100條資料,能想到的資料插入方式 1 for迴圈100次,一次次插入資料。連線一次插入100次...

ruby 資料型別 數值型

ruby支援整型 浮點型 有理數和複數等四種資料型別。整型可以使任意長度,在一定範圍之內的整型是fixnum型別,超出該範圍的是bignum型別,ruby自動在fixnum和bignum型別之間轉換,對使用者是透明的。有小數點或指數的數值常量自動轉化為float型別,小數點前後必須有數字。有理數和複...