美好的一天!
我在我的项目中测试了phalcon。我想,它比其他人快得多。 但...
看看我的测试
$app = new Micro($di);
$app->get('/', function () use ($app) {
$users = $app->modelsManager->executeQuery("SELECT * FROM TEST WHERE NAME IN ('L488', '1K5T', '4QYS' , '9ECV')");
$data = array();
foreach ($users as $user) {
$data[] = array(
'name' => $user
);
}
echo json_encode($data, JSON_UNESCAPED_UNICODE);
});
我的模特
use Phalcon\Mvc\Model;
class TEST extends Model {
public $name;
public function initialize() {
$this->setSource("TEST");
}
}
查询执行时间为1.2-1.5秒。现在没有phalcon
$user = 'name';
$pass = 'pass';
$dbh = new PDO('oci:dbname=orcl', $user, $pass);
$users = $dbh->query("SELECT * FROM TEST WHERE NAME IN ('L488', '1K5T', '4QYS' , '9ECV')");
$data = array();
foreach ($users as $user) {
$data[] = array(
'name' => $user
);
}
echo json_encode($data, JSON_UNESCAPED_UNICODE);
查询执行时间为600-700毫秒 WTF?它怎么样?为什么phalcon modelsManager更慢
答案 0 :(得分:4)
这个问题一直是answered on the Phalcon forum.
您在Micro应用程序中测试的只是数据库,而不是Phalcon。你的查询杀死了RDBMS,根本没有进行优化。您可能获得的任何开销都是使用Phalcon的ORM,所以是的 - 如果您与普通的PDO进行比较,ORM将总是增加开销。 - stamster