2017-06-28 28 views
0

enter image description here更高效的查找RDBMS一一對應的關係?

最上面的數據庫是最簡單的,但查詢,如果僱員是素食主義者給出的員工ID,它不得不應對企業的所有員工名單。

底部的兩個數據庫允許您簡單地檢查Vegetarian表中是否存在員工ID,如果素食者名單遠遠小於員工名單,那麼速度會更快。

這是一個常見的/可以接受的做法?

在最底層的數據庫,我還添加引用Vegetarian表中,以便O(1)素食狀態檢查(按鍵值是零,如果不是素食主義者),如果我們已經有員工記錄的外鍵。

回答

1

可以使用最上面的結構 - 單個表 - 對isVegetarian =真部分索引。該指數將很小,並提供與第二個結構相同的優勢。

+0

這似乎是這種類型的部分索引是不是MySQL支持的,所以我不得不使用MySQL的底部的解決方案? – James