[pgsql-jp: 29338] Re: パフォーマンス向上策

Tsukasa Koizumi tsukasa @ koiz.com
2003年 3月 9日 (日) 18:52:55 JST


小泉@コイズコムデジタルワークスです。

<3E6AE191.3070103 @ sts.co.jp> の、
   "[pgsql-jp: 29328] Re: パフォーマンス向上策" において、
   "tamagawa <tamagawa @ sts.co.jp>"さんは書きました:

> どうも論点が整理されていないような気がするんですが、
> 「速い」というのもいろいろあって、
> 
> 1)大量のデータから少量のデータを抜き出すケース
> 2)問い合わせの結果として大量のデータを返すケース
> 3)同じような問い合わせが大量に繰り返されるケース
> 
> などなど、ぜんぶ違うわけです。
> 

/* snip */

> 3)の場合は、Oracleで言うところのprepareが効いてくるケース
> です。一般にRDBでは、問い合わせの内容から実行計画を立てる
> (PostgreSQLではexplain planで出せるやつですね)訳ですが、
> この作業がかなり重たいのです。で、Oracleの場合はprepareし
> ておけば、同じような問い合わせの場合は前に使った計画を
> そのまま使ってくれます。PostgreSQL+PHPにはこのPrepareの
> 機能がないので、問い合わせの実行数そのものが多い場合には
> Oracleに比べて不利になるでしょうね。MySQLの場合は、そもそも
> 複雑な問い合わせができないので、実行計画を立てるのにほと
> んど時間がかからないような感じです。

あー、「Oracleが速い」と聞かされたのは、このことだったんですね。
なるほど。


> さて、今回の小泉さんの件では、パフォーマンスの低下が何につ
> れて落ちてきているのでしょうか?単位時間あたりの問い合わせ
> 件数の増加でしょうか?それとも単にデータベース内に保存され
> ているデータ量の増加につれて落ちてきているのでしょうか?

問い合せ件数はほぼ変わりありませんので、データ量の増加につれて、遅くな
っています。

/*------------------------------------------------------------------*/
/* 小泉 司@コイズコムデジタルワークス(東京都文京区)              */
/* Desk: mailto:tsukasa @ koiz.com / Mobile: mailto:pigtail @ pdx.ne.jp */
/* PGP Public Key: http://www.koiz.com/~tsukasa/PGP_KEY/tsukasa.asc */
/*------------------------------------------------------------------*/



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