GUID和INT两种数据类型做主键的比较
来源:互联网 发布:汉字域名有价值吗 编辑:程序博客网 时间:2024/05/30 23:48
我们公司的数据库全部是使用GUID做主键的,很多人习惯使用int做主键。所以呢,这里总结一下,将两种数据类型做主键进行一个比较。
使用INT做主键的优点:
1、需要很小的数据存储空间,仅仅需要4 byte 。
2、insert和update操作时使用INT的性能比GUID好,所以使用int将会提高应用程序的性能。
3、index和Join 操作,int的性能最好。
4、容易记忆。
5、支持通过函数获取最新的值,如:Scope_Indentity() 。
使用INT做主键的缺点
1、如果经常有合并表的操作,就可能会出现主键重复的情况。
2、使用INT数据范围有限制。如果存在大量的数据,可能会超出INT的取值范围。
3、很难处理分布式存储的数据表。
使用GUID做主键的优点:
1、它是独一无二的。
2、出现重复的机会少。
3、适合大量数据中的插入和更新操作。
4、跨服务器数据合并非常方便。
使用GUID做主键的缺点:
1、存储空间大(16 byte),因此它将会占用更多的磁盘大小。
2、很难记忆。join操作性能比int要低。
3、没有内置的函数获取最新产生的guid主键。
4、GUID做主键将会添加到表上的所以其他索引中,因此会降低性能。
总结:
上面列出了GUID和INT两种数据类型做主键优缺点。我觉得,对于大数据量,建议使用guid做主键。而使用int会得到最佳的性能。
作者:朱祁林 出处:http://zhuqil.cnblogs.com 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
-------
注意:GUID不应设置为聚集索引
- GUID和INT两种数据类型做主键的比较
- GUID和INT两种数据类型做主键的比较
- 使用Guid做主键和int做主键性能比较
- 使用Guid做主键和int做主键性能比较
- 使用Guid做主键和int做主键性能比较
- GUID字符串做主键与Number类型做主键 的执行效率比较
- guid跟sequence做主键的比较
- guid跟sequence做主键的比较
- 黑马程序员-关于guid 和 int 谁做主键
- 用GUID做主键与int做主键的区别(转)
- XML和JSON两种数据交换格式的比较
- XML和JSON两种数据交换格式的比较
- XML和JSON两种数据交换格式的比较
- XML和JSON两种数据交换格式的比较
- XML和JSON两种数据交换格式的比较
- XML和JSON两种数据交换格式的比较
- XML和JSON两种数据交换格式的比较
- XML和JSON两种数据交换格式的比较
- (转)OSI七层模型详解
- 初次使用FragmentTabHost(v4下面的)出现的问题
- spring注解@service("service")括号中的service有什么用
- visual studio 2010也可以格式化XML文本,原来在一对的杂乱不配对的,CTRL+K+D搞定,太帅了!
- flume将日志到hive实现
- GUID和INT两种数据类型做主键的比较
- Gradle, 基于DSL的新一代Java构建工具
- 命令行调用code sign时报错:User interaction is not allowed
- openssl简易文档
- android【采用pull解析xml文件】
- openssl生成SSL证书的流程
- [Python] 专题五.列表基础知识 二维list排序、获取下标和处理txt文本实例
- session 学习-为登录添加验证码
- 大型分布式网站架构设计与实践