[pgsql-jp: 31759] Re: 処理速度の違いについて

Keiji Mitsubuchi keiji @ nwco.com
2003年 12月 11日 (木) 13:06:03 JST


三淵@NWCです。

これは、Postgresの問題と言うより
Perlのメモリーマネージメントの問題のように
感じます。
ループないでDATAアレーを毎回アロケート
するより、VARのように、一度にアロケート
した方が、早いと言うことのように感じます。

はずしていたらすみませんが・・・

----- Original Message ----- 
From: "前羽 理克" <femc_la @ yahoo.co.jp>
To: <pgsql-jp @ ml.postgresql.jp>
Sent: Thursday, December 11, 2003 9:26 AM
Subject: [pgsql-jp: 31755] 処理速度の違いについて


> はじめまして、マエバと申します。
> 
> 現在,バイトでperlを使用してCGIを作成しているのですが、
> 先輩のプログラムとで処理速度の違いがでています。調べたと
> ころ、どうも、Postgresからのデータの抜き出しで差が出てい
> るようですが、原因がわかりません。どうか、ご教授お願いし
> ます。
> 
> ---プログラム----------
> PGモジュール使用
> 
> ****先輩の場合***************************
> $pgquery = "select $Part from $table $Query";
> $result = $conn->exec($pgquery);
> $max= $result->ntuples;
> $cleng = $result->nfields;
> if ($result->resultStatus ne PGRES_TUPLES_OK) {
> # printf ("選択エラー(TBL_Val) 理由:
> %s",$conn->errorMessage);
> $resultMsg = $conn->errorMessage;
> $GetMsg = "選択できませんでした。<br>理由: $resultMsg";
> }
> for (my $i=0; $i < $max; $i++) {
> for (my $t=0;$t<$cleng;$t++) {
> $Val[$i][$t] = $result->getvalue($i,$t);
> }
> }
> 
> *****私の場合**************
> $data = $conn->exec(“select $Part from $table $Query";);
> while(@data=$data->fetchrow){
>   $a[$i]=data[0];
>   $b[$i]=data[1];
>   $c[$i]=data[2];
>   $i++;
> }
> 
> 
> 
> __________________________________________________
> Do You Yahoo!?
> Yahoo! BB is Broadband by Yahoo!
> http://bb.yahoo.co.jp/
> 



pgsql-jp メーリングリストの案内