对于数据库(Oracle)中的许多表,我们有以下类型的“唯一ID”列。它是一个格式如下的字符串
<randomnumber>-<ascendingnumber>-<machinename>
所以我们有这样的事情
U1234-12345-NBBJD
U1234-12346-NBBJD
U1234-12347-NBBJD
U1234-12348-NBBJD
U1234-12349-NBBJD
UID值是唯一的,我们有唯一的索引。对于索引扫描,以下格式是否比上述格式更有效?
NBBJD-U1234-12345
NBBJD-U1234-12346
NBBJD-U1234-12347
NBBJD-U1234-12348
NBBJD-U1234-12349
答案 0 :(得分:2)
对此没有一个好的答案,因为它取决于你查询数据的方式。如果您通常尝试按UNIQUE_ID
查找特定记录,则无关紧要。但是,如果您按machinename
查找记录,那么您可能希望在列的前面找到它。
更好的是,将这些值中的每一个都设置为单独的列,并根据序列或GUID使用真正合成的主键。这样,数据的排序根本不是问题。你以后会感谢你自己。