]> git.openstreetmap.org Git - nominatim.git/commitdiff
split up large osmid index on placex
authorSarah Hoffmann <lonvia@denofr.de>
Tue, 20 Sep 2022 16:44:37 +0000 (18:44 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Wed, 21 Sep 2022 07:24:57 +0000 (09:24 +0200)
This doesn't do anything in terms of lookup speeds but the resulting
indexes are quite a bit smaller.

lib-sql/tables.sql

index 2ad5243c8f93a0fd3a457429e0ae5939d6b021f6..59b1ad5dbb267b559609a0de13fbf1acb675baac 100644 (file)
@@ -158,7 +158,9 @@ CREATE TABLE placex (
   centroid GEOMETRY(Geometry, 4326)
   ) {{db.tablespace.search_data}};
 CREATE UNIQUE INDEX idx_place_id ON placex USING BTREE (place_id) {{db.tablespace.search_index}};
-CREATE INDEX idx_placex_osmid ON placex USING BTREE (osm_type, osm_id) {{db.tablespace.search_index}};
+CREATE INDEX idx_placex_node_osmid ON placex USING BTREE (osm_id) {{db.tablespace.search_index}} WHERE osm_type = 'N';
+CREATE INDEX idx_placex_way_osmid ON placex USING BTREE (osm_id) {{db.tablespace.search_index}} WHERE osm_type = 'W';
+CREATE INDEX idx_placex_relation_osmid ON placex USING BTREE (osm_id) {{db.tablespace.search_index}} WHERE osm_type = 'R';
 CREATE INDEX idx_placex_linked_place_id ON placex USING BTREE (linked_place_id) {{db.tablespace.address_index}} WHERE linked_place_id IS NOT NULL;
 CREATE INDEX idx_placex_rank_search ON placex USING BTREE (rank_search, geometry_sector) {{db.tablespace.address_index}};
 CREATE INDEX idx_placex_geometry ON placex USING GIST (geometry) {{db.tablespace.search_index}};