Last active
December 18, 2015 09:29
-
-
Save krlmlr/5761307 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DROP TABLE IF EXISTS ind1_2000 CASCADE; | |
CREATE TABLE ind1_2000 (id integer, ind1 float); | |
ALTER TABLE ind1_2000 ADD PRIMARY KEY (id); | |
INSERT INTO ind1_2000 VALUES (1, 0.0); | |
INSERT INTO ind1_2000 VALUES (2, 0.3); | |
INSERT INTO ind1_2000 VALUES (3, 1.1); | |
VACUUM ANALYZE ind1_2000; | |
DROP TABLE IF EXISTS ind2_2000 CASCADE; | |
CREATE TABLE ind2_2000 (id integer, ind2 float); | |
ALTER TABLE ind2_2000 ADD PRIMARY KEY (id); | |
INSERT INTO ind2_2000 VALUES (1, 0.0); | |
INSERT INTO ind2_2000 VALUES (2, 0.3); | |
INSERT INTO ind2_2000 VALUES (3, 1.1); | |
VACUUM ANALYZE ind2_2000; | |
DROP TABLE IF EXISTS ind3_2000 CASCADE; | |
CREATE TABLE ind3_2000 (id integer, ind3 float); | |
ALTER TABLE ind3_2000 ADD PRIMARY KEY (id); | |
INSERT INTO ind3_2000 VALUES (1, 0.0); | |
INSERT INTO ind3_2000 VALUES (2, 0.3); | |
INSERT INTO ind3_2000 VALUES (3, 1.1); | |
VACUUM ANALYZE ind3_2000; | |
DROP TABLE IF EXISTS id CASCADE; | |
CREATE TABLE id (id integer PRIMARY KEY); | |
INSERT INTO id VALUES (1); | |
INSERT INTO id VALUES (2); | |
INSERT INTO id VALUES (3); | |
VACUUM ANALYZE id; | |
DROP VIEW IF EXISTS ind_2000 CASCADE; | |
CREATE VIEW ind_2000 AS SELECT id, ind1, ind2, ind3 | |
FROM id | |
LEFT JOIN ind1_2000 USING (id) | |
LEFT JOIN ind2_2000 USING (id) | |
LEFT JOIN ind3_2000 USING (id); | |
EXPLAIN ANALYZE SELECT id, ind1, ind2 FROM ind_2000; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DROP TABLE IF EXISTS ind1 CASCADE; | |
CREATE TABLE ind1 (year integer, id integer, ind1 float); | |
ALTER TABLE ind1 ADD PRIMARY KEY (year, id); | |
INSERT INTO ind1 VALUES (2000, 1, 0.0); | |
INSERT INTO ind1 VALUES (2000, 2, 0.3); | |
INSERT INTO ind1 VALUES (2000, 3, 1.1); | |
INSERT INTO ind1 VALUES (2001, 1, 0.0); | |
INSERT INTO ind1 VALUES (2001, 2, 0.3); | |
INSERT INTO ind1 VALUES (2001, 3, 1.1); | |
INSERT INTO ind1 VALUES (2002, 1, 0.0); | |
INSERT INTO ind1 VALUES (2002, 2, 0.3); | |
INSERT INTO ind1 VALUES (2002, 3, 1.1); | |
VACUUM ANALYZE ind1; | |
DROP TABLE IF EXISTS ind2 CASCADE; | |
CREATE TABLE ind2 (year integer, id integer, ind2 float); | |
ALTER TABLE ind2 ADD PRIMARY KEY (year, id); | |
INSERT INTO ind2 VALUES (2000, 1, 0.0); | |
INSERT INTO ind2 VALUES (2000, 2, 0.3); | |
INSERT INTO ind2 VALUES (2000, 3, 1.1); | |
INSERT INTO ind2 VALUES (2001, 1, 0.0); | |
INSERT INTO ind2 VALUES (2001, 2, 0.3); | |
INSERT INTO ind2 VALUES (2001, 3, 1.1); | |
INSERT INTO ind2 VALUES (2002, 1, 0.0); | |
INSERT INTO ind2 VALUES (2002, 2, 0.3); | |
INSERT INTO ind2 VALUES (2002, 3, 1.1); | |
VACUUM ANALYZE ind2; | |
DROP TABLE IF EXISTS ind3 CASCADE; | |
CREATE TABLE ind3 (year integer, id integer, ind3 float); | |
ALTER TABLE ind3 ADD PRIMARY KEY (year, id); | |
INSERT INTO ind3 VALUES (2000, 1, 0.0); | |
INSERT INTO ind3 VALUES (2000, 2, 0.3); | |
INSERT INTO ind3 VALUES (2000, 3, 1.1); | |
INSERT INTO ind3 VALUES (2001, 1, 0.0); | |
INSERT INTO ind3 VALUES (2001, 2, 0.3); | |
INSERT INTO ind3 VALUES (2001, 3, 1.1); | |
INSERT INTO ind3 VALUES (2002, 1, 0.0); | |
INSERT INTO ind3 VALUES (2002, 2, 0.3); | |
INSERT INTO ind3 VALUES (2002, 3, 1.1); | |
VACUUM ANALYZE ind3; | |
DROP TABLE IF EXISTS id CASCADE; | |
CREATE TABLE id (id integer PRIMARY KEY); | |
INSERT INTO id VALUES (1); | |
INSERT INTO id VALUES (2); | |
INSERT INTO id VALUES (3); | |
VACUUM ANALYZE id; | |
DROP VIEW IF EXISTS ind_2000 CASCADE; | |
CREATE VIEW ind_2000 AS SELECT id, ind1, ind2, ind3 | |
FROM (SELECT id, 2000 AS year FROM id) T | |
LEFT JOIN ind1 USING (year, id) | |
LEFT JOIN ind2 USING (year, id) | |
LEFT JOIN ind3 USING (year, id); | |
EXPLAIN ANALYZE SELECT id, ind1, ind2 FROM ind_2000; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment