Performance oracle字符串列索引-数据格式是否影响索引质量?

Performance oracle字符串列索引-数据格式是否影响索引质量?,performance,oracle,oracle10g,Performance,Oracle,Oracle10g,对于数据库(Oracle)中的许多表,我们有以下类型的“唯一ID”列。它是一个具有以下格式的字符串 <randomnumber>-<ascendingnumber>-<machinename> UID值是唯一的,我们对它们有唯一的索引。对于索引扫描,以下格式是否比上述格式更有效 NBBJD-U1234-12345 NBBJD-U1234-12346 NBBJD-U1234-12347 NBBJD-U1234-12348 NBBJD-U1234-12349

对于数据库(Oracle)中的许多表,我们有以下类型的“唯一ID”列。它是一个具有以下格式的字符串

<randomnumber>-<ascendingnumber>-<machinename>
UID值是唯一的,我们对它们有唯一的索引。对于索引扫描,以下格式是否比上述格式更有效

NBBJD-U1234-12345
NBBJD-U1234-12346
NBBJD-U1234-12347
NBBJD-U1234-12348
NBBJD-U1234-12349

这并不是一个很好的答案,因为这取决于您如何查询数据。如果您通常试图通过
UNIQUE\u ID
查找特定记录,那么这并不重要。但是,如果您是通过
machinename
查找记录,那么您可能希望将其放在列的前面


更好的是,将这些值中的每一个作为单独的列,并基于序列或GUID拥有一个真正的合成主键。这样一来,数据的顺序根本就不是问题。稍后您将感谢您自己。

+1建议您将这些组件拆分为单独的列(可能会生成复合值的视图和基于函数的索引,以允许用户高效搜索复合值)
NBBJD-U1234-12345
NBBJD-U1234-12346
NBBJD-U1234-12347
NBBJD-U1234-12348
NBBJD-U1234-12349