[pgsql-jp: 25544] Re: 大量のテストデータの作成
sugita @ sra.co.jp
sugita @ sra.co.jp
2002年 4月 8日 (月) 18:02:05 JST
杉田です。
From: "橋端 博士" <mitsuki @ zc5.so-net.ne.jp>
Subject: [pgsql-jp: 25543] 大量のテストデータの作成
Date: Mon, 8 Apr 2002 17:34:56 +0900
;;; 大量のデータを登録したとき、
;;; どのくらいの速度になるかを知りたいため、
;;; データの登録作業を行っているのですが、
;;; ある設計にしたがったテストデータを
;;; 何十万、何百万、手作業で入力で入力というのは
;;; 現実的ではないため、何か別の方法、もしくはツールを探しています。
;;; 検索エンジンで調べましたが、引っかかるのは商用のものばかりで、値段が張りま
;;; す。
ある設計に従った内容のデータとするものがあればいいなとは思いつつ、ユーザ定義
関数を作成して、単純なデータ生成のために次のようにしています。数だけなら 100万、
1000 万は充分な速度です。
sugita=# create table test (i integer, d datetime);
create table test (i integer, d datetime);
CREATE
sugita=# insert into test select n, now() + n from (select gennum(5) as n) g;
insert into test select n, now() + n from (select gennum(5) as n) g;
INSERT 0 5
sugita=# select * from test;
select * from test;
i | d
---+---------------------
0 | 2002-04-08 00:00:00
1 | 2002-04-09 00:00:00
2 | 2002-04-10 00:00:00
3 | 2002-04-11 00:00:00
4 | 2002-04-12 00:00:00
(5 rows)
sugita=# select gennum(3);
gennum
--------
0
1
2
(3 rows)
sugita=# select gennum(3, 2);
select gennum(3, 2);
gennum
--------
2
3
4
(3 rows)
sugita=# select gennum(3, 2, 2);
select gennum(3, 2, 2);
gennum
--------
2
4
6
(3 rows)
sugita=# select timeofday() from (select repeat(5)) r;
select timeofday() from (select repeat(5)) r;
timeofday
-------------------------------------
Mon Apr 08 17:59:13.779293 2002 JST
Mon Apr 08 17:59:13.779402 2002 JST
Mon Apr 08 17:59:13.779427 2002 JST
Mon Apr 08 17:59:13.779451 2002 JST
Mon Apr 08 17:59:13.779475 2002 JST
(5 rows)
sugita=#
Kenji Sugita
sugita @ sra.co.jp
pgsql-jp メーリングリストの案内