[pgsql-jp: 34490] JDBCとavg関数
koyama
mlac @ hintmark.com
2004年 12月 15日 (水) 19:54:18 JST
k7-koyama ともうします
Postgresql7.4.5 を SuSELinuxで使っています(kernel2.6です)
AVG 関数 の速度で、疑問に思ったので、質問させて下さい。
================================================
対象テーブル
table a
create table a {
a_key_col integer not null primary key,
str_col varchar(50) not null
};
table b
create table b {
b_key_col integer not null primary key,
a_key_col integer not null, ----> a.a_key_col 外部キー
b_key_col_2 integer not null,
b_num integer not null
};
=================================================
上記のテーブルから、作成した view
CREATE VIEW view SELECT
aaa.*,
bbb.str_col
FROM
(SELECT
b_key_col_2,
a_key_col,
sum(b_num) AS b_num,
avg(b_num) AS b_num
FROM b
GROUP BY b_key_col2, a_key_col
) aaa
LEFT OUTER JOIN b ON a.a_key_col=b.a_key_col ;
これを pgsql で引くと、1秒以内でとてもスムーズに早く引けるのですが、
JDBC経由では、ものすごく時間がかかってしまいます(30秒程度)
Postgresは、ソースコードをコンパイルして入れ、JDBC もその際に、
生成されたものです。
pgsql自体でも時間がかかれば、気にならないのですが、レコードが
僅か 10レコードしかないテーブルなので、JDBCドライバの問題なのか
疑問に思いました。
みなさんの環境で、このような事が起こっていませんでしょうか?
宜しくお願い致します。
pgsql-jp メーリングリストの案内