2001/04/11(水) 17:56
PHP-jp 11121
より引用。
-----------------------------
ってな、環境のシステムのプログラムを引き継ぐ事になってプログラムの改良を
行っているのですが、以下の様なコードで2回目のpg_execで処理が戻るまで
約40分くらい掛かってしまいます。
----------------------------------------------------------------------
$sql1 = "SELECT * FROM usertable WHERE syumi='".$syumi_data."'";
$user = pg_exec($conn, $sql1);
$row = pg_numrows($user);
$temp = "user_id in ('".pg_result($user, 0, user_id);
for ($j = 1; $j < $row; $j++) {
$temp = $temp."','".pg_result($user, $j, "user_id");
}
$temp = $temp."')";
$sql2 = "SELECT * FROM maintable WHERE ".$temp." ORDER BY user_id";
if (false == ($main = pg_exec($conn, $sql2))) {
echo "検索失敗";
return false;
} else {
echo "検索完了";
}
----------------------------------------------------------------------
原因は、前のpg_execで見つけてきたuser_idが7000件近くあって、
-----------------------------
joinを知らない奴、逝ってよし。
しかも質問者は、selectを中止させる or postgresプロセスをkillする
方法を探してるときたもんだ。