数据库设计中的决策:在查找表ID和直接数据存储之间进行选择
在数据库设计中,选择最佳的存储方法数据可能对性能和数据完整性产生重大影响。处理查找表时,需要决定是使用外键引用表还是直接将查找表值存储在引用表中。
做出决定的注意事项
推荐的解决方案
为了解决这些注意事项,推荐的解决方案是使用查找表引用表中的 VARCHAR 主键和外键具有级联更新启用:
CREATE TABLE ColorLookup ( color VARCHAR(20) PRIMARY KEY ); CREATE TABLE ItemsWithColors ( ...other columns..., color VARCHAR(20), FOREIGN KEY (color) REFERENCES ColorLookup(color) ON UPDATE CASCADE ON DELETE SET NULL );
此方法的好处
要考虑的因素
虽然此解决方案通常有效,但主键大小值得考虑,因为它会影响索引开销和外键数据类型。较小的密钥大小可以优化性能,特别是在查找表被大量引用的情况下。
以上是查找表与直接数据存储:何时应该在数据库设计中使用外键?的详细内容。更多信息请关注PHP中文网其他相关文章!