· 8 years ago · Feb 05, 2018, 11:30 PM
1DROP TABLE adam_sample_one;
2DROP TABLE adam_sample_two;
3DROP TABLE adam_sample_three;
4
5CREATE TABLE adam_sample_two
6(
7 aaa SERIAL,
8-- aaa INT IDENTITY(0, 1),
9 bbb TEXT NOT NULL,
10 ccc INT NOT NULL,
11 ddd TEXT NOT NULL
12)
13;
14CREATE TABLE adam_sample_three
15(
16 aaa SERIAL,
17-- aaa INT IDENTITY(0, 1),
18 bbb TEXT NOT NULL,
19 ccc INT NOT NULL,
20 ddd TEXT NOT NULL
21)
22;
23
24
25INSERT INTO adam_sample_two (bbb, ccc, ddd)
26SELECT
27 translate(lpad(floor(random() * 99999)::text, 5, '0'), '1234567890', 'abcdefghij')
28 , floor(random() * 999)
29 , translate(lpad(floor(random() * 999)::text, 3, '0'), '1234567890', 'abcdefghij')
30FROM adam_sample_two
31LIMIT 10000
32;
33CREATE UNIQUE INDEX adam_sample_two_pk ON adam_sample_two (aaa);
34SELECT COUNT(*) FROM adam_sample_two;
35
36INSERT INTO adam_sample_three (
37 bbb
38, ccc
39, ddd
40, aaa
41)
42SELECT bbb
43, ccc
44, case when (random() < 0.5) then ddd else translate(lpad(floor(random() * 999)::text, 3, '0'), '1234567890', 'abcdefghij') end as ddd
45, aaa
46FROM adam_sample_two
47;
48CREATE UNIQUE INDEX IF NOT EXISTS adam_sample_three_pk ON adam_sample_three (aaa);
49
50DROP TABLE adam_sample_one;
51CREATE TABLE adam_sample_one AS SELECT * FROM adam_sample_two;
52CREATE TABLE adam_sample_one AS SELECT * FROM adam_sample_three;
53
54SELECT * FROM adam_sample_one LIMIT 1000;
55SELECT * FROM adam_sample_two LIMIT 1000;
56SELECT * FROM adam_sample_three LIMIT 1000;