uuid各函数性能对比

最近更新时间: 2024-06-12 15:06:00

  • 数据表结构。

     postgres=# \d+ t_uuid
                                       Table "public.t_uuid"
      Column |          Type          |              Modifiers              | Storage  | Stats target | Description 
     --------+------------------------+-------------------------------------+----------+--------------+-------------
      f1     | uuid                   | not null default uuid_generate_v1() | plain    |              | 
      f2     | character varying(256) |                                     | extended |              | 
     Has OIDs: no
     Distribute By SHARD(f2)
             Location Nodes: ALL DATANODES
  • uuid_generate_v3函数。

     postgres=# insert into t_uuid(f1,f2) select uuid_generate_v3(uuid_ns_dns(), 'http://tbase.qq.com'),uuid_generate_v3(uuid_ns_dns(), 'http://tbase.qq.com') from generate_series(1,10000) as t;
     INSERT 0 10000
     Time: 58.407 ms
  • uuid_generate_v5函数。

     postgres=# insert into t_uuid(f1,f2) select uuid_generate_v5(uuid_ns_dns(), 'http://tbase.qq.com'),uuid_generate_v5(uuid_ns_dns(), 'http://tbase.qq.com') from generate_series(1,10000) as t;
     INSERT 0 10000
     Time: 47.049 ms
  • uuid_generate_v1函数。

     postgres=# insert into t_uuid(f1,f2) select uuid_generate_v1(),uuid_generate_v1() from generate_series(1,10000) as t;  
     INSERT 0 10000
     Time: 111.204 ms
  • uuid_generate_v4函数。

     postgres=# insert into t_uuid(f1,f2) select uuid_generate_v4(),uuid_generate_v4() from generate_series(1,10000) as t; 
     INSERT 0 10000
     Time: 137.062 ms
  • uuid_generate_v1mc函数。

     postgres=# insert into t_uuid(f1,f2) select uuid_generate_v1mc(),uuid_generate_v1mc() from generate_series(1,10000) as t;
     INSERT 0 10000
     Time: 125.663 ms
  • 测试数据对比

    V1 v1mc V4 V3 V5
    111.204 ms 125.663 ms 137.062 ms 58.407 ms 47.049 ms

    可以看出V5的性能是最好的。