php - PHP 中的 MongoDB 游标,它是在查询执行时将所有记录带到客户端还是在游标迭代时将所有记录一条一条地带到客户端?

标签 php optimization mongodb cursor

我想用 MongoDB 优化我的查询,我想知道 PHP 客户端协议(protocol)如何处理从 find() 查询返回的游标,它是将大量结果带到客户端还是获取单个结果从远程数据库一次记录并返回给应用程序?

最佳答案

PHP 驱动程序(以及我遇到的任何其他驱动程序)将根据批量大小获取结果。如果您在 JS shell 中运行直接查找查询,您也可以看到这一点,它会在返回的前 20 个结果的末尾说“有更多”之类的内容。然后调用 iterate (it) 函数将加载下一批等。

在 PHP 中,批处理大小是可配置的,最大为总返回数据大小的限制以及有关限制等的一些其他警告,如下所述:

http://php.net/manual/en/mongocursor.batchsize.php

关于php - PHP 中的 MongoDB 游标,它是在查询执行时将所有记录带到客户端还是在游标迭代时将所有记录一条一条地带到客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9377500/

相关文章:

php - preg_replace_callback 突出显示模式在结果中不匹配

mongodb - MongoClient 连接到多个主机来处理故障转移?

matlab - 确定峰值的位置和值

python - 通过有序圆形航路点的最短路径

optimization - 如果这确实是一个问题,哪种多语言网页设计解决方案对用户来说是最快的?

javascript - 如何根据 URI 是否在生产环境中将其设置为变量

python mongodb正则表达式: ignore case

php - 如何从youtube播放列表中获取时间值(value)

php - 如何在PHP错误验证期间将数据保留在表单中?

PHP & PDO : One Connection vs More-than-one Connections