假设我的文档中有50个字段。
使用投影功能时,只需选择4个字段,执行时间会增加还是减少?
mongodb如何处理它?</ p>
find
和aggregate
的工作方式是否不同?我相信第一个选项会增加执行时间,而第二个选项会减少执行时间。
答案 0 :(得分:0)
这一切取决于我猜……取决于您的搜索条件。在我看来,它只能是第1点(或应该对其进行大量优化),因为任何过滤或聚合或任何不在投影中的字段都可以进行。和顺便说一句...定义“获取”。获取客户端,我会说不,是在服务器上“获取”的。通常,我想说的是,如果您的查询不是那么复杂,那么即使投影需要花费一些额外的时间,它也会与将数据传输到客户端的总时间相抵。总而言之,我们在这里以毫秒为单位,与优化数据库查询相比,总的传输时间和延迟很难抑制。
此外,我发现了以下内容(比我的看法更具技术性):https://dba.stackexchange.com/questions/198444/how-mongodb-projection-affects-performance