From 13e86258621be80a584e66110c8537e24d35492a Mon Sep 17 00:00:00 2001 From: MartinMikita Date: Tue, 28 Mar 2017 16:28:02 +0200 Subject: [PATCH] Added partial index to speed up creating materialized views in transportation_name merge_highways SQL. --- layers/transportation_name/merge_highways.sql | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/layers/transportation_name/merge_highways.sql b/layers/transportation_name/merge_highways.sql index 3bac6a8..76684ac 100644 --- a/layers/transportation_name/merge_highways.sql +++ b/layers/transportation_name/merge_highways.sql @@ -67,6 +67,10 @@ CREATE MATERIALIZED VIEW osm_transportation_name_linestring AS ( ); CREATE INDEX IF NOT EXISTS osm_transportation_name_linestring_geometry_idx ON osm_transportation_name_linestring USING gist(geometry); +CREATE INDEX IF NOT EXISTS osm_transportation_name_linestring_highway_partial_idx + ON osm_transportation_name_linestring(highway) + WHERE highway IN ('motorway','trunk'); + -- etldoc: osm_transportation_name_linestring -> osm_transportation_name_linestring_gen1 CREATE MATERIALIZED VIEW osm_transportation_name_linestring_gen1 AS ( SELECT ST_Simplify(geometry, 50) AS geometry, osm_id, member_osm_ids, name, name_en, name_de, ref, highway, network, z_order @@ -75,6 +79,10 @@ CREATE MATERIALIZED VIEW osm_transportation_name_linestring_gen1 AS ( ); CREATE INDEX IF NOT EXISTS osm_transportation_name_linestring_gen1_geometry_idx ON osm_transportation_name_linestring_gen1 USING gist(geometry); +CREATE INDEX IF NOT EXISTS osm_transportation_name_linestring_gen1_highway_partial_idx + ON osm_transportation_name_linestring_gen1(highway) + WHERE highway IN ('motorway','trunk'); + -- etldoc: osm_transportation_name_linestring_gen1 -> osm_transportation_name_linestring_gen2 CREATE MATERIALIZED VIEW osm_transportation_name_linestring_gen2 AS ( SELECT ST_Simplify(geometry, 120) AS geometry, osm_id, member_osm_ids, name, name_en, name_de, ref, highway, network, z_order @@ -83,6 +91,10 @@ CREATE MATERIALIZED VIEW osm_transportation_name_linestring_gen2 AS ( ); CREATE INDEX IF NOT EXISTS osm_transportation_name_linestring_gen2_geometry_idx ON osm_transportation_name_linestring_gen2 USING gist(geometry); +CREATE INDEX IF NOT EXISTS osm_transportation_name_linestring_gen2_highway_partial_idx + ON osm_transportation_name_linestring_gen2(highway) + WHERE highway = 'motorway'; + -- etldoc: osm_transportation_name_linestring_gen2 -> osm_transportation_name_linestring_gen3 CREATE MATERIALIZED VIEW osm_transportation_name_linestring_gen3 AS ( SELECT ST_Simplify(geometry, 200) AS geometry, osm_id, member_osm_ids, name, name_en, name_de, ref, highway, network, z_order @@ -91,6 +103,10 @@ CREATE MATERIALIZED VIEW osm_transportation_name_linestring_gen3 AS ( ); CREATE INDEX IF NOT EXISTS osm_transportation_name_linestring_gen3_geometry_idx ON osm_transportation_name_linestring_gen3 USING gist(geometry); +CREATE INDEX IF NOT EXISTS osm_transportation_name_linestring_gen3_highway_partial_idx + ON osm_transportation_name_linestring_gen3(highway) + WHERE highway = 'motorway'; + -- etldoc: osm_transportation_name_linestring_gen3 -> osm_transportation_name_linestring_gen4 CREATE MATERIALIZED VIEW osm_transportation_name_linestring_gen4 AS ( SELECT ST_Simplify(geometry, 500) AS geometry, osm_id, member_osm_ids, name, name_en, name_de, ref, highway, network, z_order