zoukankan      html  css  js  c++  java
  • 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)的一半这点优势了吧

  • 相关阅读:
    将smarty安装到MVC架构中
    MVC开发模式以及Smarty模板引擎的使用
    LAMP环境搭建+配置虚拟域名
    第四节 块标签、含样式的标签
    第三节 p标签
    第二节 标题标签
    第一节 简单的html
    第十一节 python和集群交互
    第十节 redis集群搭建
    第九节 搭建主从服务
  • 原文地址:https://www.cnblogs.com/huqingyu/p/1712556.html
Copyright © 2011-2022 走看看