UUID 和 GUID 的区别(转)
Posted Note
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于UUID 和 GUID 的区别(转)的主要内容,如果未能解决你的问题,请参考以下文章