首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Int、BigInt或UniqueIdentifier的PK类型

使用Int、BigInt或UniqueIdentifier的PK类型
EN

Stack Overflow用户
提问于 2017-11-28 09:31:00
回答 1查看 468关注 0票数 0

我们的团队开发了一个新的保健ERP数据库。在头脑风暴会议期间,我建议使用uniqueidentifier,因为它有许多好处,如

  • 如果从客户端应用程序生成值,则减少到数据库OnInsert的往返时间。
  • 通过在客户端应用程序上生成它,我们可以更容易地使用主细节方法。
  • 它有助于数据复制。

到现在为止,我很有信心,甚至我想我会听到一些恭维话,直到我的老板问了我几个问题:

  • 您将使用此Guid作为主键进行群集索引吗?
  • 你知道你的桌子有多大及其对表演的影响吗?
  • 一些开发人员提出了Int,另一些开发人员建议使用BigInt

我想知道我的老板的问题是否有一个基础,或我的想法是正确的,因为我认为什么是最好的事情,建立ERP与复制支持。

注意,,我已经在这里搜索了很长时间,在这个网站和其他网站上也是如此。

在ERP系统中,哪一个是最好的关键,比如医疗信息系统?

EN

回答 1

Stack Overflow用户

发布于 2017-11-28 16:47:31

想想你的公司打算做什么,以及你的团队目前的专业水平。显然,基于您的问题和经理的问题,它没有使用sql server的丰富经验。如果没有必要的专业知识,我无法合理地为您找到一种开发企业级系统的方法,特别是您计划使用的后端系统。

你的过程(你描述的那么少)听起来是有关的。“头脑风暴”不是一个你决定模式和选择键的点。我们不应该盲目地为选择特定的数据类型--每个主键。但所有这些都是猜测,而不知道你在这个过程中的位置。如果您的模式尚未修复(无论为每一列选择了何种数据类型),那么您还不能考虑性能问题。

最后,你和你的经理混淆了两个相关但独立的属性。主键与聚集索引不一样,尽管MS开发团队做出了不幸的实现选择。它们是相互独立的;对聚集索引作出有意识的决定,并且不允许db引擎自动选择主键作为聚集索引。

所以回答你的问题。是的-这些问题都是有效的。但是,您的项目似乎还没有达到可以解决这些问题的程度。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47528083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档