gpt4 book ai didi

mongodb 模式设计查询以包括查找

转载 作者:行者123 更新时间:2023-12-04 09:17:45 26 4
gpt4 key购买 nike

我在面试中被问到这个问题,不知道答案。
“您正在设计一个 monogdb 模式来支持包含查找的查询。您应该怎么做?”
选项是

Create a multicolumn index on 
a) key value used as primary and foreign key
b) foreign key and most unique column
[ b was my answer because i thought it would avoid collisions. Intereviewer disagreed, didn't tell me the answer.]
OR-
c) Create an index on the key value used as the foreign key
d) Create an index on the key value used as primary key
面试官不会告诉我更多信息。关于数据库。就好像他在看书一样。

最佳答案

我应该选择“c”。不是很确定,但让我分享我的想法。
假设你有两个集合,你会在集合2的customer_id上查找collection1的customer_id,MongoDB在后端会做什么?
对于 collection1 中的每个 customer_id,它会尝试在 collection2 中找到一个匹配项,并且它可以扫描 collection2 中的每个文档或使用包含所需 customer_id 的文档的内存映射。如果 MongoDB 确切知道在哪里可以找到等效的 customer_id,则不需要扫描任何文档。
但是为什么不在主键字段上创建索引呢?因为它不会被使用,因为 MongoDB 无论如何都会通过 collection1 中的每个文档。
这些链接可能会给你一些指导:

  • This might be a HUGE help
  • Optmize query performance
  • Poor lookup performance
  • 关于mongodb 模式设计查询以包括查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63154889/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com