社区
疑难问题
帖子详情
主键使用 newid() 和 Int 哪个效率高?
bean_sql
2012-06-19 05:24:48
一直以为 int做主键 比 newid() 做主键效率高
今天在网上看了一篇文章,
说 主键使用 Newid() 比 使用 Int 效率高....
求解...
http://blog.163.com/ny_lonely/blog/static/1889242732011520111817929/
...全文
278
6
打赏
收藏
主键使用 newid() 和 Int 哪个效率高?
一直以为 int做主键 比 newid() 做主键效率高 今天在网上看了一篇文章, 说 主键使用 Newid() 比 使用 Int 效率高.... 求解... http://blog.163.com/ny_lonely/blog/static/1889242732011520111817929/
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lycorisraya
2012-06-19
打赏
举报
回复
[Quote=引用 5 楼 的回复:]
1、newid长度长,像4楼说的,每个页面存放的数量就会少,查询时要访问的数据页就多,通俗点说,就是I/O会更高。性能不见得好。
2、3楼说的newid无序,不适合做聚集索引,是正确的。
3、对于数据库底层操作而言。由于数值型变成16进制时是明确的。而字符型或者其他类型到了底层会存在一些不可预知性。这样需要额外的信息来确定数据。所以一般建议使用数值型来做主键及索引,补充一下,最快的运算操作是2……
[/Quote]
分析的好,曾经还纠结于用int还是guid做主键,现在看来完全不必自寻烦恼了!
發糞塗牆
2012-06-19
打赏
举报
回复
1、newid长度长,像4楼说的,每个页面存放的数量就会少,查询时要访问的数据页就多,通俗点说,就是I/O会更高。性能不见得好。
2、3楼说的newid无序,不适合做聚集索引,是正确的。
3、对于数据库底层操作而言。由于数值型变成16进制时是明确的。而字符型或者其他类型到了底层会存在一些不可预知性。这样需要额外的信息来确定数据。所以一般建议使用数值型来做主键及索引,补充一下,最快的运算操作是2进制,其实也就是SQLServer的bit类型。但是由于索引需要考虑选择性,所以不建议使用bit类型来做索引。选择性不高。
4、newid号称3000年内不会重复,但是几乎没有项目需要这么旧。int类型足够存放2亿数据。对于大部分项目来说绰绰有余。
5、你的文章仅仅突出不重复,而不是高效。
6、由于newid的不确定性,在匹配时,比如表关联,会有一定的内耗。
综上所述,不建议在非常特殊的情况下使用newid来做主键或者索引
SQL777
2012-06-19
打赏
举报
回复
NEWID至少比INT存储的东西都多哇。索引页存储的东西就少了
昵称被占用了
2012-06-19
打赏
举报
回复
一般情况,我们往往把主键设置为聚集
但是GUID时很不适合聚集的,因为它产生时无序的,聚集最好是后添加的,可以减少聚集的页分裂浪费性能
昵称被占用了
2012-06-19
打赏
举报
回复
有问题,文章没有说效率比INT高
昵称被占用了
2012-06-19
打赏
举报
回复
这个是否有问题?
数据库
主键
设计原则.txt
数据库
主键
设计原则 或许大家都设计过数据库,也为表定义过
主键
,...就算有"o"老数据也可以区分,而且效率很高, 在.NET里可以直接
使用
System.Gu
id
.
New
Gu
id
()进行生成,在SQL里也可以
使用
New
ID
()生成。 优点是: 同
ID
E
餐厅管理信息系统课程设计
随着社会服务行业的发展,餐饮业对自身服务的质量和能力也有了更高的要求。餐饮管理系统正是在这样的情况之下越来越受到重视。餐厅的内部服务项目众多,既需要完成前台的服务工作,还需要完成后台的管理工作,如果...
使用
Gu
id
做
主键
和
int
做
主键
性能比较
在数据库的设计中我们常常用Gu
id
或
int
来做
主键
,根据所学的知识一直感觉
int
做
主键
效率要高,但没有做仔细的测试无法 说明道理。碰巧今天在数据库的优化过程中,遇到此问题,于是做了一下测试。 测试环境: ...
mysql gu
id
int
_
使用
Gu
id
做
主键
和
int
做
主键
性能比较
在数据库的设计中我们常常用Gu
id
或
int
来做
主键
,根据所学的知识一直感觉
int
做
主键
效率要高,但没有做仔细的测试无法说明道理。碰巧今天在数据库的优化过程中,遇到此问题,于是做了一下测试。测试环境:台式电脑 ...
数据库SQL Server性能优化之
主键
选择总结
常见的数据库
主键
选取方式有: ●自动增长字段 ●Unique
id
entifier ... (1)简单、
效率高
。 缺点: (1)自增一般
使用
int
型,有数据条数的限制。 (2)在数据库进行数据合并时会比较麻烦。 2、GU
ID
优...
疑难问题
22,209
社区成员
121,731
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章