【发布时间】:2016-09-09 00:46:19
【问题描述】:
我正在四处研究,我真的无法下定决心。我只使用自动增量 ID 创建数据库和构建应用程序,但这是我第一个可能会增长的严肃启动项目。
因此,我需要您对下面写的内容或一些最佳实践示例或开源项目的想法,从中我可以看到它是如何完成的。
首先我将从这个开始,这是让我大吃一惊的最后一个谜题。 由于研究并阅读了有关暴露递增 ID 的信息,对于其中一个竞争对手(竞争对手 A),我发现他们有多少客户,甚至创建了多少项目,是的,因为暴露了 ID,但另一方面是另一个竞争对手(竞争对手 B)正在使用 GUID 来识别他们的对象,所以我什么都不知道。
所以比赛结论:
- 由于竞争,使用自动增量 ID 很糟糕,他们会知道我的业务进展情况
- 有了 GUID,竞争者将无法根据 ID 了解我的业务进展情况
一些速度和存储结论:
- 拥有自动增量 ID 速度更快,并且对于关系而言最轻量级
- 拥有 GUID 速度较慢,关系变得更重
暴露身份的想法:
公开自动增量 ID 只会向竞争公开我的业务进展情况,还有哪些其他安全问题? (实在想不出来……)
公开 GUID 是安全的,但它们有点丑...
所以这只是给我留下了一些事实,我无法制定任何有意义的策略,这是我迄今为止得出的最好结论:
- 每个表都将具有自动递增的 ID 列,该列将唯一地呈现一条记录
- 如果暴露,我将使用带有 GUID 的第二个 ID 列或者可能是混淆程序?
【问题讨论】:
标签: web-applications auto-increment guid