哪个读取性能更好?我目前正在使用arangoDB,关于多模型方法,我想知道从具有多个嵌套列表的少数文档读取数据是否更快,或者从没有嵌套列表的许多(较小)文档中读取是否连接通过多个边缘。
多重嵌套文档的示例(实际上,它与鸡尾酒数据库无关):
{ "_key" : "cocktail/1", "name" : "newcocktail", "drinks" : [{ "orange juice" : [{"ingredient":"orange", "quantity":2},{"ingredient":"water", "amount":4},{"ingredient":"sugar", "quantity":6}], ...]}, }
示例没有嵌套列表:
{ "_key" : "cocktail/1", "name" : "newcocktail" } { "_key" : "edge/1", "from" : "cocktail/1", "to" : "drink/1" } { "_key" : "drink/1", "name" : "orange juice" "quantity" : 2 } { "_key" : "edge/2", "from" : "drink/1", "to" : "ingredient/1" } { "_key" : "ingredient/1", "name" : "orange" "quantity" : 2 "unit" : .... }
答案 0 :(得分:3)
如果您只对原始读取性能感兴趣,那么读取一个大文档会更快。
如果您的文档只是值,那么关于多模型方法的正确策略确实会嵌入。如果您的文档本身就是实体(可能经常更改;从不同的地方引用),则应将它们存储为单独的文档。