第6回:PostgreSQLの適用範囲を考える 〜 データ検索のパフォーマンス (2/3)

徹底比較!! Oracle & PostgreSQL
徹底比較!! Oracle & PostgreSQL

第6回:PostgreSQLの適用範囲を考える 〜 データ検索のパフォーマンス

著者:ミラクル・リナックス  高橋 強   2005/5/30
前のページ  1  2   3  次のページ
テスト其の弐 〜 データの検索

   今回はデータの検索速度を測定してみます。データは前回のテスト其の壱で使用した表をそのまま検索データとして使用します(データは10万件)。
インデックスなしの全件検索での集計

   全件検索時のパフォーマンスを測定します。インデックスがない状態でテストデータ中の数値列(給与)の集計(SUM)を実行し、その速度を測定します。

   インデックスを作成しない状態でSUM関数による集計を行うため、全データへアクセスする必要があります。処理は単独のセッションで行い、SQL*Plus、psqlで実行します。データベースを起動した直後の状態と、数回検索を行なった後の状態のそれぞれを測定してみます。つまり、データがキャッシュされていない場合とキャッシュされている場合の測定です。

実行したSQL文
select sum(給与) from 社員表;
インデックスなしの場合の集計検索時間
図1:インデックスなしの場合の集計検索時間


   Oracle、PostgreSQLともに、キャッシュ上にデータが存在していないDB起動直後の場合より、二度目以降のキャッシュされている状態の方が時間が短縮されました。処理コストの大きいディスクI/Oが省略できるため、一般的に処理が高速化されます。

   PostgreSQLはどちらの状態でも、Oracleと比較すると多くの時間を必要としています。PostgreSQLに対するOracleの処理時間はそれぞれ20%、7%程度であり、全件検索時の処理速度はOracleの方が高速であると言えます。

   データ量に対するキャッシュのサイズは十分に用意しているため、I/Oの差は「起動直後−二度目以降」の差として現れるはずです。起動直後と二度目以降の差よりも、OracleとPostgreSQLの差の方が大きいことから、検索と集計の処理でのオーバヘッドの差が顕著に現れていると考えることができます。

   さらに言えば、データのフラグメントが進んだ場合、PostgreSQLではデータ格納上の理由により、その悪化がどうしても顕著に現れてしまいます。

前のページ  1  2   3  次のページ


ミラクル・リナックス
著者プロフィール
ミラクル・リナックス株式会社  高橋 強
1993年某SIベンダへ入社後、Oracle、DB関連のコンサルティング、チューニング、社内案件の技術支援などを10年ほど担当。2004年ミラクル・リナックス株式会社へ入社。


INDEX
第6回:PostgreSQLの適用範囲を考える 〜 データ検索のパフォーマンス
  データ検索時のパフォーマンスを測定する
テスト其の弐 〜 データの検索
  インデックスの作成時間
徹底比較!! Oracle & PostgreSQL
第1回 データベースソフトウェアの選択基準とは
第2回 アーキテクチャ比較  プロセス構造の違い
第3回 アーキテクチャ比較  ファイル構造の違い PostgreSQLの特徴
第4回 PostgreSQLの適用範囲を考える 〜 機能比較
第5回 PostgreSQLの適用範囲を考える 〜 データ登録のパフォーマンス
第6回 PostgreSQLの適用範囲を考える 〜 データ検索のパフォーマンス
第7回 PostgreSQLの適用範囲を考える 〜 更新・削除のパフォーマンス
第8回 PostgreSQLの適用範囲を考える 〜 ベンチマークテスト
第9回 PostgreSQLの適用範囲を考える 〜 管理・運用編
商用&OSSデータベースの現状と今後
第1回 シェアの差はそのままデータベースの実力の差か?〜RDBMS各々のメリットとデメリット比較〜
第2回 止まらない安心&止まっても安心?〜有名ブランドだけが可用性を保証できるのか?
第3回 1台なら大丈夫。つないでいっても大丈夫?〜OSSのスケーラビリティの実際
第4回 商用 vs. OSSの単純な機能比較では話にならない 〜 データベースのセキュリティを考える
第5回 ホントにつながる?商用とOSSの異種データベース接続を見てみよう
第6回 「バックアップとは何か」から見た、商用 vs OSSデータベースの違いとは?
第7回 ラクする?こだわる?データベースのパフォーマンスチューニング

人気記事トップ10

人気記事ランキングをもっと見る