gpt4 book ai didi

PHP Mongo 的光标速度很慢

转载 作者:可可西里 更新时间:2023-11-01 09:32:35 24 4
gpt4 key购买 nike

此代码耗时约 0.1 秒

// find
$benchmark = Profiler::start ('Testing', 'find()');
$cursor = MongoBG::getInstance ( )->setDatabase ('test')->setCollection ('testcoll')->find();
Profiler::stop ($benchmark);

$benchmark = Profiler::start ('Testing', 'cursor walk');
while ($cursor->hasNext()) {
print_r($cursor->getNext());
}
Profiler::stop ($benchmark);

所以“find()”只用了 0.000017 秒但是“光标行走”0.102812 秒

集合大约有 100 行,速度保持与 1000 或其中只有 10 项相同。

一些服务器信息:FreeBSD 8.1、PHP 5.3.5 与 (mongo/1.1.4)、MongoDB 版本 1.6.6-pre

最佳答案

这么快的时间,听起来 find 除了准备一个对象(没有与数据库通信)之外没有做任何事情,而且只有在使用游标时才会执行实际的查询并且结果被读取。游标正在执行工作,这就是它变慢的原因。

我知道这就是 node.js 的 mongodb 驱动程序的工作原理。如果您这样看,游标速度对于打开连接、验证、发送查询、接收和缓冲响应、然后将其解析/加载到对象以返回给您来说都不错。

关于PHP Mongo 的光标速度很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4970487/

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