mysql - RDBMS一对一关系可以更有效地查找吗?-LMLPHP

最顶层的数据库是最简单的数据库,但要查询给定雇员ID的雇员是否素食,则必须处理整个雇员列表。

底部的两个数据库使您可以简单地检查Vegetarian表中是否存在员工ID,如果素食者的数量比员工的数量小得多,这将更快。

这是常见/可接受的做法吗?

在最底层的数据库中,我还添加了引用Vegetarian表的外键,以允许我们已经拥有员工记录的O(1)检查素食状态(如果不是素食,则键值为null)。

最佳答案

您可以将最顶层的结构(单个表)与isVegetarian = True上的部分索引一起使用。该索引将很小,并提供与第二个结构相同的好处。

08-07 06:49