「PostgreSQLは遅い」は本当か?:OSSデータベース比較 - (page 2)

田中好伸(編集部)2007年04月12日 12時04分

 SELECTの場合では、INSERTと逆転して「PostgreSQLの方が圧倒的に速い」という結果になっている。

 「“MySQLは検索が速い”とよく言われている。つまりMySQLではSELECTが速いと思われていた。しかし、PostgreSQLの方が速いという結果になった。このことについては、日本MySQLユーザ会の人たちとも“こういうことがあるんだね”と感心していた」

 UPDATEでは、INSERTと似たような傾向を示しており、結果としてPostgreSQLの方が遅いという結果になっている。これは「PostgreSQLが追記型というアーキテクチャになっているから」という。追記型であることで、「UPDATEで書き換えを行わない。内部的に元のデータをDELETEしてINSERTすることをやっている」としている。

 DELETEでの結果について同氏は、「PostgreSQLが全般的に速い」と語っている。「PostgreSQLでは、“削除”というフラグをつけているだけ。アーキテクチャの違いもあってPostgreSQLの方が速い」。

PostgreSQLのボトルネックは通信ではない

 ベンチマークの2番目になる1サーバ1クライアントのテストにおいて、INSERTではPostgreSQLが遅く、SELECTではストアドプロシージャほどの差は開いていないものの、約1.5倍PostgreSQLの方が速いという結果だ(1024_8ではMySQLの方が速い)。

 またUPDATEでは、単体テストと同じようにPostgreSQLが遅いという結果だ。しかし単体テストのようにMySQLとの差は1.5倍にはなっていないという。「クライアントとサーバに分けた場合、PostgreSQLとMySQLとの差は縮んでいる」。

 「MySQLはクライアントとサーバに分けると、その性能は落ちる。MySQLは同じマシンだと速いということだ。セキュリティの問題は別として、MySQLを利用する場合、ウェブサーバとDBサーバを同じマシンにした方が、性能は良くなる」

 その逆に、PostgreSQLであればローカルでも別々のマシンに分けても、性能が変わらないということになる。つまり「PostgreSQLのボトルネックは通信ではない」ということだ。

 ちなみに、1クライアント1サーバのDELETEでは、PostgreSQLは遅いという結果になっている。

CNET Japanの記事を毎朝メールでまとめ読み(無料)

-PR-企画特集

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]