PHP5.1.4でPDOとPEAR::DB, MDB2のベンチマーク

以前にPHP5.1.0RC1でPDOとADODB、PEAR::DBのベンチマークを取りましたが、今回は5.1.4でADODBの代わりにMDB2を加えてやってみました。zuzaraのサービスの一部をさくらの専用サーバに移行しようと考えていて、OSでFedoraCore5を選択するとPHP5.1.4になります。

PDOPEAR::DBPEAR::MDB2
PostgreSQL8.1.40.0080.0350.048

MDB2はどのぐらい速いのかなぁ、期待して試したのですがいまいち?
機能もメソッド名もほとんど同じなので5系ではやはりPDOがよさげ。
なお、testテーブルは1000行のデータが入っています。

pdo.php

<?php
require_once('Benchmark/Timer.php');
$timer = new Benchmark_Timer(true);
try {
    $dbh = new PDO('pgsql:host=localhost;dbname=funaki', 'funaki', '');
    $sth = $dbh->prepare("select * from test");
    $sth->setFetchMode(PDO::FETCH_ASSOC);
    $sth->execute();
    $data = $sth->fetchAll();
} catch (PDOException $e) {
    die($e->getMessage());
}

pear_db.php:

<?php
require_once('Benchmark/Timer.php');
$timer = new Benchmark_Timer(true);
require_once('DB.php');
$db = DB::connect("pgsql:[email protected](/tmp)/funaki");
if (PEAR::isError($db)) {
    die($db->getMessage());
}
$sql = "select * from test";
$db->setFetchMode(DB_FETCHMODE_ASSOC);
$data = $db->getAll($sql);

pear_mdb2.php:

<?php
require_once('Benchmark/Timer.php');
$timer = new Benchmark_Timer(true);
require_once('MDB2.php');
$db = MDB2::connect("pgsql:[email protected](/tmp)/funaki");
if (PEAR::isError($db)) {
    die($db->getMessage());
}
$sql = "select * from test";
$data = $db->queryAll($sql);
This entry was posted in いじる. Bookmark the permalink. Both comments and trackbacks are currently closed.

One Trackback

Page optimized by WP Minify WordPress Plugin