diff schema/updates/1004/01.optimize_index-setup.sql @ 4016:9ab7e1056360

Optimize index setup a bit Optimize column order in multi-column indexes created automatically for constraints in order to match access patterns better. This makes the extra indexes on measure_date obsolete. Add a further index for fast retrieval of newest measurement per location, which is currently needed in some VIEWs for GeoServer.
author Tom Gottfried <tom@intevation.de>
date Fri, 19 Jul 2019 14:30:14 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/schema/updates/1004/01.optimize_index-setup.sql	Fri Jul 19 14:30:14 2019 +0200
@@ -0,0 +1,16 @@
+ALTER TABLE waterway.gauge_measurements
+    DROP CONSTRAINT gauge_measurements_location_measure_date_staging_done_key;
+ALTER TABLE waterway.gauge_measurements
+    ADD CONSTRAINT gauge_measurements_measure_date_location_staging_done_key
+    UNIQUE (measure_date, location, staging_done);
+DROP INDEX waterway.gauge_measurements_measure_date;
+
+ALTER TABLE waterway.gauge_predictions
+    DROP CONSTRAINT gauge_predictions_pkey;
+ALTER TABLE waterway.gauge_predictions
+    ADD CONSTRAINT gauge_predictions_pkey
+    PRIMARY KEY (measure_date, location, date_issue);
+DROP INDEX waterway.gauge_predictions_measure_date;
+
+CREATE INDEX gauge_measurements_location_measure_date_desc
+    ON waterway.gauge_measurements (location, measure_date DESC)