[pgsql-jp: 31142] MAX関数が遅い。
Yoshiiro Tsumori
tsumori @ cds.ne.jp
2003年 9月 30日 (火) 17:24:16 JST
IDナンバーをプライマリーキーにしております。MAXで最大のIDナンバー
を取得する処理なのですが、必ずシーケンシャルスキャンで最大値を見
付けておりまして、時間が掛かります。時間が掛かるというのは主観的
なんですがプライマリーキーなのだし、少なくともインデックスを使っ
て最大値を探して欲しいと考えています。ちなみに"vacuum"や"vacuum
analyze"を実行しても、やはりインデックスは使用されませんでした。
何か良い方法などありましたら、よろしくお願い致します。
onishi=# explain select max(mas_no) from g_master;
NOTICE: QUERY PLAN:
Aggregate (cost=14737.84..14737.84 rows=1 width=4)
-> Seq Scan on g_master (cost=0.00..14609.27 rows=51427 width=4)
RedHat7.3
PostgreSQL 7.2.1 on i686-pc-linux-gnu, compiled by GCC 2.96
※7.3.3でも試してみましたが、やはりシーケンシャルスキャンでした。
津守 美弘
http://www27.cds.ne.jp/~zeos/
pgsql-jp メーリングリストの案内