pg_send_queryは非同期だから速いかと思ったらそうでもなかった

pg_send_queryは非同期クエリ送信だから、結果を待たない分だけpg_queryより速いかと思ってベンチマークをとってみた。

pg_send_query
http://www.php.net/manual/ja/function.pg-send-query.php

結果、INSERT文に関してはたいして変わらなかった。

<?php 
$dbconn = pg_connect("host=localhost port=5432 dbname=sample user=postgres") or die("cannot connect db");
$sql = 'INSERT INTO log (id, action, created_on) values ($1, $2, $3);';
$params = array(777, 'foobar', 'now()');

for($i = 1;$i <= 10000; $i++) {
        #pg_query_params($dbconn, $sql, $params);
        pg_send_query_params($dbconn, $sql, $params);
}
pg_close($dbconn);
上記のような1万件INSERTするプログラムを実行してみたが、pg_query_paramsもpg_send_paramsもほとんど時間は同じだった。

カテゴリ: