UUID 和 GUID 的区别(转)

UUID是一个由4个连字号(-)将32个字节长的字符串分隔后生成的字符串,总共36个字节长。比如:550e8400-e29b-41d4-a716-446655440000

http://gohands.blogbus.com/logs/147479174.html

GUID 是微软对UUID这个标准的实现。UUID是由开放软件基金会(OSF)定义的。UUID还有其它各种实现,不止GUID一种。比如我们这里在Java中用到的。

http://baike.baidu.com/view/1052579.htm

COMB(combine)型是数据库特有的一种设计思想,可以理解为一种改进的GUID,它通过组合GUID和系统时间,以使其在索引和检索事有更优的性能。 
http://blog.csdn.net/happyflystone/article/details/1903854

数据库中没有COMB类型,它是Jimmy Nilsson在他的“The Cost of GUIDs as Primary Keys”一文中设计出来的。

COMB数据类型的基本设计思路是这样的:既然UniqueIdentifier数据因毫无规律可言造成索引效率低下,影响了系统的性能,那么我们 能不能通过组合的方式,保留UniqueIdentifier的前10个字节,用后6个字节表示GUID生成的时间(DateTime),这样我们将时间 信息与UniqueIdentifier组合起来,在保留UniqueIdentifier的唯一性的同时增加了有序性,以此来提高索引效率。

http://hi.baidu.com/%CA%AB%D5%B9/blog/item/407fd23f77d5eacf7c1e7122.html

Android 使用代码:

JDK1.5开始支持UUID,Android也支持UUID http://developer.android.com/reference/java/util/UUID.html

那么生成UUID变成了一件简单的事,因为JDK实现了UUID: java.util.UUID,直接调用即可. 
UUID uuid  =  UUID.randomUUID(); 
String s = UUID.randomUUID().toString();//用来生成数据库的主键id非常不错。

import java.util.UUID;
UUID uid = UUID.randomUUID();

SQLIte 使用例子

// 插入数据
UUID locationID = UUID.randomUUID();
ContentValues initialValues = new ContentValues();
initialValues.put("rowid", locationID.toString());
//...other stuff...//
db.insert(DATABASE_TABLE_LOCATIONS, null, initialValues);
// 搜索
Cursor c =
db.query(true, DATABASE_TABLE, new String[] {
                "rowid", "stuff", "things"}, "rowid=‘" + rowId + "‘",
null, null, null, null);

以上代码出自: http://groups.google.com/group/android-developers/browse_thread/thread/4a6c40702107fa16

SQL 语句

CREATE TABLE Users
(
   UserGuid TEXT PRIMARY KEY NOT NULL,
   FirstName TEXT,
   LastName TEXT
)
INSERT INTO Users (UserGuid, FirstName, LastName)
VALUES (‘e7bf9773-8231-44af-8d53-e624f0433943‘, ‘Bobby‘, ‘Bobston‘)
DELETE FROM Users WHERE UserGuid = ‘e7bf9773-8231-44af-8d53-e624f0433943‘

以上语句来源: http://zh-cn.w3support.net/index.php?db=so&id=1055848

MYSQL

在mysql中有函数生成guid:SELECT UUID();

一般我们用CHAR(36)或者BINARY(36)类型来存储uuid。

PHP 使用 UUID

PHP下生成GUID

http://www.cnblogs.com/ovliverlin/archive/2008/08/27/932444.html

PHP function to generate v4 UUID

http://stackoverflow.com/questions/2040240/php-function-to-generate-v4-uuid

时间: 2024-10-22 13:03:38

UUID 和 GUID 的区别(转)的相关文章

Java,Javascript,Oracle开发生成UUID或GUID方法总结

1.Java开发生成UUID或GUID方法 // 36位的,带中划线 java.util.UUID.randomUUID().toString(); // 32位的,去掉中划线 java.util.UUID.randomUUID().toString().replaceAll("-", ""); 2.Javascript开发生成UUID或GUID方法 /* 参数middle_line true:带中划线 false不带中划线*/ function newGuid(m

php中生成标准uuid(guid)的方法

<?phpUUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.通常平台 会提供生成UUID的API.UUID按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址.纳秒级时间.芯片ID码和许多可能的数字.由以 下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相 同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得),UUID的唯一

UUID、GUID、SID、SUSID

1. UUID: (Universally Unique Identifier) 通用唯一标识符, 是一个标识符标准用于软件架构,由开放软件基金会(OSF)作为分布式计算环境(DCE)的一部分而制作的标准. UUID的目的是让分布式系统中的所有元素都能有唯一的辨识资讯,不需要透过中央控制端来做辨认资讯的制定.如此一来每个人都建立一个与其他人不同的标识符,这样在存储到数据库中时,就不用担心名称相同的事情(功能类似数据库中的主键,但是数据库的主键只是在一张表中有效). 这个标准现在被广泛应用在微软的

UUID 和UDID的区别

UUID(Universally Unique IDentifier)是基于iOS设备上面某个单个的应用程序,只要用户没有完全删除应用程序,则这个UUID在用户使用该应用程序的时候一直保持不变.如果用户删除了这个应用程序,然后再重新安装,那么这个UUID已经发生了改变.通过调用[[UIDevice currentDevice] identifierForVendor];方法可以获取UUID.UUID不好的地方就是用户删除了你开发的程序以后,基本上你就不可能获取之前的数据了. UDID(Uniqu

SID与GUID的区别

1.在AD里面创建一个用户或者组都会为其分配一个SID,同时也会为这些对象分配一个GUID,GUID是一个128位的字符串,一个标识符,GUID不仅在整个域里面是唯一的,并且在全世界的范围内都是唯一的,独一无二的,换句话说你找遍整个世界都找不到一模一样的两个GUID值.另外,不仅用户和组这些安全主体会被分配一个GUID,整个域内的所有对象都会被分配一个GUID,比如域控制器等.而且一旦对象被分配了GUID那么这个GUID将伴随这个对象一直到它被删掉. 2.SID可以被更改(一般组的SID不会更改

前台和后台通过JS传GUID的区别和方法

1.后台生成字符串,然后拼接,在前台显示: onclick=\"changestate( '" + storeid + "' )\" 2.前台 不用拼接和转换 : onclick="addonetocart('@dt_mycart.Rows[i]["card_id"].ToString()')"

UUID那些事

UUID那些事 UUID 是一个全局唯一的通用识别码.它使用某种规则,而不是某种中心化的自增方式,来保证这个识别码的全局唯一性.UUID 有非常多的使用场景,比如在分布式系统中,需要生成全局唯一 ID 来进行日志记录.UUID 的生成规则由 rfc4122 来进行定义. UUID 和 GUID 的区别 其实是没有区别的,GUID 是微软按照 UUID 的规则实现的一套方法.它本质的目的也是为了保证全局唯一性.微软已经使用 GUID 在 Windows 的 COM,ActiveX 等技术上了.但是

mysql 生成UUID() 即 ORACLE 中的guid()函数

MYSQL 生成UUID 即 guid 函数-- 带 - 的UUIDselect UUID() -- 去掉 - 的UUIDselect replace(uuid(),'-','') 一个表的数据插入另一个表中. INSERT INTO 目标表 SELECT * FROM 来源表; INSERT INTO目标表 (字段1, 字段2, ...)SELECT字段1, 字段2, ...FROM来源表 ; 原文地址:https://www.cnblogs.com/chxl800/p/10716665.ht

什么是uuid以及uuid在java中的使用

什么是UUID? UUID是Universally Unique Identifier的缩写,它是在一定的范围内(从特定的名字空间到全球)唯一的机器生成的标识符.UUID具有以下涵义: 经由一定的算法机器生成 为了保证UUID的唯一性,规范定义了包括网卡MAC地址.时间戳.名字空间(Namespace).随机或伪随机数.时序等元素,以及从这些元素生成UUID的算法.UUID的复杂特性在保证了其唯一性的同时,意味着只能由计算机生成. 非人工指定,非人工识别 UUID是不能人工指定的,除非你冒着UU