首页 » 网站建设 » phpguid32技巧_Oracle生成不重复字符串 sys_guid

phpguid32技巧_Oracle生成不重复字符串 sys_guid

访客 2024-11-26 0

扫一扫用手机浏览

文章目录 [+]

SYS_GUID

SYS_GUID同Oracle管理员所利用的传统的序列(sequence)比较具有诸多上风。
一个序列天生器只是大略地创建从给定的出发点开始的一系列整数值,而且它被用在选择陈述式的时候自动地递增该系列。

序列天生器所天生的数字只能担保在单个实例里是唯一的,这就不适宜将它用作并行或者远程环境里的主关键字,由于各自环境里的序列可能会天生相同的数字,从而导致冲突的发生。
SYS_GUID会担保它创建的标识符在每个数据库 里都是唯一的。

phpguid32技巧_Oracle生成不重复字符串 sys_guid

此外,序列必须是DML陈述式的一部分,因此它须要一个到数据库的来回过程(否则它就不能担保其值是唯一的)。
SYS_GUID源自不须要对数据库进行访问的韶光戳和机器标识符,这就节省了查询的花费。

phpguid32技巧_Oracle生成不重复字符串 sys_guid
(图片来自网络侵删)
利用

SYS_GUID() 天生32位的唯一编码。
来天生唯一主键

例如:

create table test(id raw(16) default sys_guid() primary key,name varchar2(100));insert into test values(sys_guid(),'t1');

这样就能天生唯一的主键id了,插入数据时不用插入id列。

SYS_GUID作为一个主关键字?

create table use_seq_table(id integer );create sequence use_seq_sequence;insert into use_seq_table values (use_seq_sequence_value.nextval ); create table use_guid_table(id raw (16));insert into use_guid_table(sys_guid());

很多运用程序都依赖序列天生器来创建数据行的主关键字,这些数据行没有一个明显的主值,这也便是说,在这样的数据集里一条记录的创建就会让数据列发生改变。
因此,管理员可能会对在表格中将SYS_GUID用作主关键字而不该用序列数感兴趣。
这在工具在不同机器的不同数据库里天生以及须要在后来合并到一起的情形下很有用。

但是,SYS_GUID所天生的值是一个16位的原始值。
序列所天生的整数不会利用16位(的值),除非它达到了10的30次方(每个字节有两位),而且数字是相称独特的:

SQL> select dump (123456789012345678901234567890) from dual ;

较短的值就意味着用于表格和索引的存储空间更少,以及调查的韶光更短。

利用SYS_GUID或者序列会在数据库利用周期里的某些地方造成性能上的花费,对付SYS_GUID而言,性能上的影响在查询韶光和 创建韶光上(在表格里要创建更多的块和索引以容纳数据)。
对序列而言,性能上的影响在查询期间,在这个时候,SGA序列的缓冲区被用光。
在缺省情形下,一 个序列一次会缓冲20个值。
如果数据库没有利用这些值就关闭了,它们就会被丢失。

SYS_GUID天生的值的另一个显著的不敷之处是,管理这些值会变得困难得多。
你必须(手动)输入它们或者通过脚本来添补它们,或者将它们作为Web参数来通报。

出于这些缘故原由,将SYS_GUID作为一个主关键字不是一个很好主张,除非是在一个并行的环境里或者希望避免利用管理序列天生器的情形下。

总结

比较于JAVA的uuid,SYS_GUID优点便是天生的字符串是唯一的,但其和UUID有同样的弊端:天生的序列过长并且没有规律未便利影象。
SYS_GUID的运用处景是在于:当数据库某字段设置为唯一,则可用次天生(比如主键)

后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

标签:

相关文章

介绍皮肤设置,如何打造理想肌肤状态

随着科技的发展和人们对美的追求,皮肤设置已成为美容护肤的重要一环。如何根据皮肤类型、肤质、年龄等因素进行合理设置,已成为众多爱美人...

网站建设 2025-01-03 阅读1 评论0

介绍盖章制作,传承文化,彰显权威

自古以来,盖章在我国文化中具有重要的地位。从古代的官印、私印到现代的公章、合同章,盖章已成为一种独特的文化符号,承载着丰富的历史内...

网站建设 2025-01-03 阅读1 评论0

介绍监控破坏,技术手段与法律风险并存

随着科技的飞速发展,监控设备已遍布大街小巷,成为维护社会治安的重要手段。一些不法分子为了逃避法律制裁,开始研究如何破坏监控设备。本...

网站建设 2025-01-03 阅读1 评论0

介绍登录不上之谜,技术故障还是人为疏忽

随着互联网的普及,登录已成为人们日常生活中不可或缺的一部分。在享受便捷的登录不上这一问题也困扰着许多用户。本文将深入剖析登录不上之...

网站建设 2025-01-03 阅读1 评论0

介绍电脑键盘调出方法,让操作更高效

随着科技的发展,电脑已经成为了我们日常生活中不可或缺的工具。而电脑键盘,作为电脑输入设备,更是我们与电脑进行交流的桥梁。你是否知道...

网站建设 2025-01-03 阅读1 评论0

介绍磁力链,高效便捷的文件下载利器

在互联网高速发展的今天,文件下载已成为日常生活中不可或缺的一部分。而磁力链作为一种新型的文件下载方式,凭借其高效、便捷的特点,受到...

网站建设 2025-01-03 阅读1 评论0