[pgsql-jp: 37716] Re: INDEX を残したまま大量データを高速に挿入したい

a.mitani @ sra-europe.com a.mitani @ sra-europe.com
2006年 11月 22日 (水) 20:37:35 JST


とりあえず,ここだけ.

> ●テーブル
> t1 (
>     tdata text,
>     tcnt  int
> );
>
> ●データ
> aaaaa
> bbbbb
> ccccc
> ccccc
> aaaaa
> ccccc
>
>  結果的に、以下の常態になることを望んでいます。
>
> tdata  | tcnt
> -------+------
> aaaaa  |    2
> bbbbb  |    1
> ccccc  |    3

こんな感じでどうでしょう.

test=# create table t1 (tdata text);
CREATE TABLE
test=# create view v_t1 as select tdata, count(tdata) as tcnt from t1
group by tdata;
CREATE VIEW
test=# copy t1 from '/tmp/test.load' ;
COPY
test=# select * from v_t1 order by tdata;
 tdata | tcnt
-------+------
 aaaa  |    2
 bbbb  |    1
 cccc  |    3
(3 rows)

ちなみにCOPY用のデータファイルは以下のとおり,
$ cat /tmp/test.load
aaaa
bbbb
cccc
cccc
aaaa
cccc

こんな感じですが,応用できますでしょうか?

三谷@オランダ




pgsql-jp メーリングリストの案内