Phalcon速度查询

时间:2016-05-26 08:05:10

标签: oracle performance api phalcon

美好的一天!

我在我的项目中测试了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秒。现在没有pha​​lcon

$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更慢

1 个答案:

答案 0 :(得分:4)

这个问题一直是answered on the Phalcon forum.

  

您在Micro应用程序中测试的只是数据库,而不是Phalcon。你的查询杀死了RDBMS,根本没有进行优化。您可能获得的任何开销都是使用Phalcon的ORM,所以是的 - 如果您与普通的PDO进行比较,ORM将总是增加开销。 - stamster