guid主键 oracle_oracle uuid/GUID 主键与number主键比较

记录数: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)的一半这点优势了吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值