1
在設計rethinkdb表/文檔時,我很困惑。何時創建單獨的表格以及何時將其存儲在同一文檔中?應該儘可能地避免連接,或者我們應該廣泛使用它們。將數據存儲在單獨的表中與將數據存儲在父文檔中有什麼優勢。何時在rethinkdb中創建單獨的表
在設計rethinkdb表/文檔時,我很困惑。何時創建單獨的表格以及何時將其存儲在同一文檔中?應該儘可能地避免連接,或者我們應該廣泛使用它們。將數據存儲在單獨的表中與將數據存儲在父文檔中有什麼優勢。何時在rethinkdb中創建單獨的表
這取決於。
數據庫應該圍繞你的數據的外觀來構建。不一定要避免使用.join
。在很多情況下,.join
將改善數據庫的性能。
這裏有一些事情要考慮:
.join
是有意義的,你應該這樣做。.join
不支持.changes
(還!)。您採取什麼決定取決於是否以及如何使用換卡。這裏有幾種情況以及如何去他們:
如果表A有一個一對多到B,你將不會被創建/更新任何一個頻繁,最好將所有內容寫入一個文檔。
如果表A與B有一對多關係,並且您不會創建/更新大量的As,但是您將創建/更新許多Bs,最好將它們存儲爲兩個不同的表和使用.join
。
如果表A與B具有一對多關係並且B具有非常複雜的嵌套JSON結構,則最好將它們存儲在不同的表中,並使用.join
,因爲讀取A會非常昂貴,否則(除非您在每一次都會讀到Bs)。
如果表A與B有一對多關係,並且您將廣泛使用僅包含A上數據的換件進度,最好將B保存在單獨的表中。
如果表A與B有一對多關係,並且您將廣泛使用A和B上的數據換工,則您需要將所有數據保留在同一文檔中。