如何在 DB2 Express-C 中创建包含 10 MB 测试数据的表?
您能向我展示一些如何插入随机数据的基本示例吗?
CREATE TABLE topic_sources (
topic_id integer NOT NULL,
platform varchar(50) NOT NULL,
keywords varchar(50) default NULL,
PRIMARY KEY (topic_id,platform)
);
您可以使用递归查询,例如
insert into topic_sources (topic_id, platform, keywords)
with tmp (i) as (
select 1 from sysibm.sysdummy1
union all
select i+1 from tmp where i < 1000000
)
select
int(rand()*10000),
'platform'||int(rand()*10),
'keyword'||int(rand()*100)
from tmp
适当调整随机数范围和行数。
这个想法取自这里(幻灯片 14)。
您可能会遇到重复行问题。这是修改后的查询
INSERT INTO topic_sources(topic_id、平台、关键字)
与 tmp (i) AS (
从 sysibm.sysdummy1 选择 1
联合所有
从 tmp 中选择 i+1,其中 i < 1000000
)
SELECT
i,
'platform'||i,
'keyword'||i
FROM tmp;