記錄數:349408
共三個表:T2,T3,T4
T2的ID是RAW(16)
T3的ID是char(32)
T4的ID是Number
其它欄位一樣(連ID共22個欄位):
X1 NUMBER
X2 NUMBER
X3 VARCHAR2(500 BYTE)
X4 VARCHAR2(2000 BYTE)
X5 VARCHAR2(500 BYTE)
X6 NUMBER
X7 DATE
X8 VARCHAR2(2000 BYTE)
X9 NUMBER
X10 NUMBER(1,0)
X11 NUMBER
X12 NUMBER
X13 VARCHAR2(50 BYTE)
X14 VARCHAR2(50 BYTE)
X15 VARCHAR2(2000 BYTE)
X16 VARCHAR2(256 BYTE)
X17 NUMBER(1,0)
X18 VARCHAR2(2000 BYTE)
X19 VARCHAR2(4000 BYTE)
X20 NUMBER
X21 NUMBER
測試一:
select * from T2;
select * from T3;
select * from T4;
結果(單位:秒)
|
1 |
2 |
3 |
4 |
5 |
6 |
平均 |
t2 |
12.71 |
10.05286 |
9.056 |
9.5318 |
9.077147 |
9.40745 |
9.972543 |
t3 |
9.309 |
9.9791 |
8.913 |
9.0849 |
9.789756 |
8.52539 |
9.266858 |
t4 |
8.9315 |
9.13159 |
8.873 |
9.0031 |
9.696671 |
8.8288 |
9.077444 |
測試二:
select count(*) from T2;
select count(*) from T3;
select count(*) from T4;
結果(單位:秒)
|
1 |
2 |
3 |
4 |
平均 |
t2 |
2.703 |
2.766 |
3.5 |
2.813 |
2.9455 |
t3 |
2.844 |
2.938 |
2.922 |
2.875 |
2.89475 |
t4 |
2.375 |
2.813 |
2.344 |
2.953 |
2.62125 |
結論:
select全表、select count
RAW(16) 效能最差
CHAR(32)中
NUMBER 最好
不過2.62與2.94、9.077與9.97也差不了多少。
UUID我是一定要用的,所以只能RAW(16)或CHAR(32),看起來select效能還能接受。
insert慢一點無所謂,也不delete。
CHAR(32)麼,可讀性好一點,編程稍微方便一點點
RAW(16)我想就占的空間是CHAR(32)的一半這點優勢了吧