在2以下哪个表结构更好?
OR
在第一个查询中,我在查询中使用LIKE
运算符。
在第二个我使用AND
运算符。
第一桌设计在选择数据时是否优于第二表? 我需要在第一个表结构和第二个表结构之间决定什么情况?
答案 0 :(得分:1)
第二张表显然比第一张表有优势。如果您必须从第一个表中查询类型或货币,则可能必须使用右侧,左侧或任何其他功能。 此外,如果您为第二个表格对齐键/约束,请遵循第二范式。
答案 1 :(得分:1)
如果您从未需要以任何方式使用Type
或Currency
属性,那么第一个会更好,并且您始终只使用存储为MEASUREMENT_NAME
的整个文本。
如果您打算单独使用Type
或Currency
属性的值,例如在条件等条件下使用它们的值,则第二个选项将是更好的选择。
您最终还可以创建一个包含整个文本MEASUREMENT_NAME
和分隔值Type
&的组合结构。 Currency
用于过滤目的。这将在磁盘上占用更多空间并且不会进行优化,但是整个文本或MEASUREMENT_NAME
将来最终还可能包含您现在不知道的属性。这可能是以原始格式存储MEASUREMENT_NAME
的原因。
如果属性MEASUREMENT_NAME
不是您从外部来源获得的,但它是您自己制作的数据结构,并且您寻求一种如何存储具有灵活(变化)结构的记录的方法,您最好存储作为JSON或XML数据,Oracle有built in functions for JSON data。
我还建议对Type
或Currency
值使用链接表,以便主表仅包含ID链接作为外键。