[pgsql-jp: 28819] Re: 複数テーブルを統合するようなテーブルについて
tomita
ntomita @ pana.net
2003年 1月 28日 (火) 19:54:14 JST
冨田です。
早速お返事ありがとうございます。>高橋さん、海老名さん
機能的には、UNIONを使用したVIEWを作成する事で、実現できますね。
実際、検索のみの使用と考えていますので、この方法も有効なのですが、
> "検索のみ"でしたらVIEWを作成するのはどうでしょう?
>
>INSERT INTO test1 (name) VALUES ('hoge');
>
> CREATE VIEW test AS
> SELECT date, name, add, tel
> FROM test1
> UNION
> SELECT date, name, add, tel
> FROM test2
> UNION
> SELECT date, name, add, tel
> FROM test3;
> SELECT * FROM test WHERE name='hoge';
> で一応検索できました。
テーブル(test1,test2,test3)に
CREATE INDEX index1 on test1(name);
CREATE INDEX index2 on test2(name);
CREATE INDEX index3 on test3(name);
の3つのインデックスがあった場合に
select * from test where name='hoge';
として検索しても、インデックスを使用せず、
全件見に行ってしまいますよね。
3つのテーブル(test1,test2,test3)に
100万件程度データがあった場合に、
ものすごく検索に時間が掛かりそうですね。
他に何か言い方法は無いでしょか?
宜しくお願い致します。
pgsql-jp メーリングリストの案内