请教各位大神,存储GUID的时候,是使用uniqueidentifier类型好,还是使用varchar好?

QQ40117988 2015-05-23 07:08:03
遇到个问题。建表的时候,主键是都是用的uniqueidentifier数据类型用来存储GUID值。

但现在项目上有人说使用varchar好。主要原因是在写代码的时候uniqueidentifier要转换为String后才能输出,这样转换的次数多了很麻烦。

在我的理解里面uniqueidentifier存储长度16位,如果要使用varchar类型存储GUID的话就需要36个字符,这样主键的索引就会大一倍。这样来说就是数据库会比较慢。

但我提了这个观点后,他们只是说我对SQL查询基础不熟悉。实际上开销一样,因为uniqueidentifier的查询方式也跟varchar一样。


现在就是想问问,是应该用uniqueidentifier还是varchar。好处是什么?
...全文
416 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
shoppo0505 2015-05-25
  • 打赏
  • 举报
回复
听说过主键用int还是guid的争议,但是没听说过用string和guid的争议。
专注or全面 2015-05-24
  • 打赏
  • 举报
回复
但从存储的角度来说,uniqueidentifier是16字节,而存储成字符串的话就是36字节,确实会使索引变大,有可能影响到性能问题 “实际上开销一样,因为uniqueidentifier的查询方式也跟varchar一样” 他们这方面我不知道是从哪里说的,查询方式一样,但是占用的空间变大了啊

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧