【发布时间】:2010-11-24 07:22:08
【问题描述】:
生成数据库 ID 的最佳策略是什么?使用数据库生成器?使用自定义生成器?各有什么优缺点?
【问题讨论】:
生成数据库 ID 的最佳策略是什么?使用数据库生成器?使用自定义生成器?各有什么优缺点?
【问题讨论】:
数据库生成器:
应用 ID 生成器
[编辑] 由于 UUID 非常昂贵(许多数据库中没有本机支持、索引碎片等),大多数应用程序使用基于数据库的生成器。
【讨论】:
要记住的另一件事是,并非所有对数据库的插入都来自应用程序。当您获得一个新客户并且必须从他们的上一个供应商迁移 100,000 条记录时,使用应用程序驱动的 guid 真的会伤害您。
【讨论】:
我认为最重要的是,您要选择对您的企业有用的东西作为标识符。例如,DMV 将您的驾照号码直接放在卡上,如果您忘记了钱包并记住了号码,它可以用来验证您的身份(例如,当被警察拦下时)。您不会将 UUID 放在卡片上。
对您的业务隐藏标识符可能会引起很多混乱,因此请选择您不介意告诉客户、客户或业务合作伙伴的内容。我并不是说每个人都应该能够记住它,但如果您正在查看收据(例如),您至少应该能够通过电话向某人朗读它。
当然,性能也有例外,但应谨慎使用,不要与业务可见的标识符混为一谈。
查看我的相关@987654321@
【讨论】: