最顶级的数据库是最简单的,但要查询员工是否是素食员,并且必须处理整个员工名单。
底部的两个数据库允许您简单地检查Vegetarian
表中是否存在员工ID,如果素食者列表比员工列表小得多,这将会快得多。
这是一种常见/可接受的做法吗?
在最底层的数据库中,我还添加了一个引用Vegetarian
表的外键,以便O(1)检查素食状态(如果不是素食者,则键值将为空)如果我们已经有员工记录。
答案 0 :(得分:1)
你可以使用最顶层的结构 - 单个表 - isVegetarian = True的部分索引。索引很小,并且与第二个结构具有相同的好处。