VACUUM実行の有無によるパフォーマンスの影響
前回はデータ更新および削除に関するパフォーマンスを測定しました。今回はパフォーマンス測定の最後として、PostgreSQLのVACUUM実行の有無による影響を測定します。
また前回も説明しましたが、ベンチマーク結果の数値のみを見て優劣を判断しないよう注意してください。限られた環境下でのテスト結果の1つに過ぎず、総合的なテストは本来の環境で自ら確認していただきたいと思います。
テスト環境
小規模サーバ向けのPCにMiracle Linux V3.0(IA32版)をインストールし、OracleとPostgreSQLをインストールします。スペックはPentium 4 3.2GHzの1CPU、2GB Memory、SATAハードディスク2つという環境です。OSがインストールされているディスクに実行モジュールを置いたまま、データベースを構成する ファイルのみを別ディスクに配置しました。
メモリ上のバッファサイズなどはPostgreSQL、Oracleで共通になるよう調整しました(表1)。
| Oracle | PostgreSQL | 設定サイズ |
| db_cache_size | shared_buffers | 200MByte |
| sort_area_size | sort_mem | 64K |
表1:OracleとPostgreSQLの設定
他は基本的にデフォルト設定のまま使用しています。また、使用した表(テーブル)の定義は、下記を基本としています。
| create table 社員表 ( | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|