我想知道什么更好。我有一个这样的查询:
Array
(
[_id] => MongoId Object
(
[$id] => 4eeedd9545c717620a000007
)
[field1] => ...
[field2] => ...
[field3] => ...
[field4] => ...
[field5] => ...
[field6] => ...
[votes] => Array
(
[whoVoted] => Array
(
[0] => 4f98930cb1445d0a7d000001
[1] => 4f98959cb1445d0a7d000002
[1] => 4f88730cb1445d0a7d000003
)
)
)
哪个会更快:
- 在 1 个查询中提取整个数组并使用
in_array()
找到正确的 id? - 从第一个查询中提取除投票之外的所有内容,然后执行另一个 mongodb 查询以查看数组中是否存在该 id?
这取决于我建议您测试的很多因素,但大多数情况下,IMO 只执行 2 个查询会更快
取决于返回/搜索的数组的大小。
不同的服务器也在做这项工作,你说的更快是什么意思?规模如何?