【发布时间】:2016-11-01 22:20:03
【问题描述】:
我想在我的数据库中为我的员工创建唯一标识符,这是为了避免数据库之间的重复,即如果员工 Barbra 存储在 DB1 中,我不希望她在 DB2 中再次创建。
我最初的想法是使用从员工电话号码创建的哈希(例如 SHA-1)。 这样,碰撞的可能性极低,并且值将是唯一的。
但我知道,由于每个 UID 的大小、缺少排序的结构和数据类型 (VARCHAR),因此拥有如此长的 UID 会花费额外的资源来执行对 UID 的查询(例如 SELECT)。
有人对如何解决这个问题有任何想法吗?
【问题讨论】:
-
您是否尝试过使用
uuid()函数的前插入trigger? -
您有多个员工表或无法复制/复制到其他数据库的主表的结构是什么?
-
您的问题不清楚。您的员工是否将在所有数据库中定义,或者例如,每个部门都有自己的数据库和自己的员工?