Changeset 332 for trunk/import/sichten.sql
- Timestamp:
- 09/12/14 14:07:11 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/import/sichten.sql
r331 r332 32 32 -- 2014-09-02 Tabelle "alkis_beziehungen" ÃŒberflÃŒssig machen. Relationen nun ÃŒber Spalten in den Objekttabellen. 33 33 -- 2014-09-11 Neu: View "fehlersuche_namensanteile_je_blatt", substring(gml_id) bei Relation-Join, mehr "endet IS NULL" 34 35 -- ToDo: Einige Views sind sehr langsam geworden. Z.B. exp_csv welcher doppelverbindung verwendet. 36 -- Dadurch Export aus Bauchauskunft sehr langsam! 37 -- Derzeit provisorische Version von "doppelverbindung" (schnell aber nicht ganz korrrekt). 34 -- 2014-09-12 Korrektur "doppelverbindung" (nach Patch der Indices fÃŒr Relation auf Substring(gml_id,1,16)) 38 35 39 36 -- Bausteine fÃŒr andere Views: … … 53 50 54 51 -- DROP VIEW public.doppelverbindung; 55 56 /* -- korrekte Version, leider unertrÀglich langsam, z.B. beim Export von CSV aus der Auskunft57 58 52 CREATE OR REPLACE VIEW public.doppelverbindung 59 53 AS … … 74 68 WHERE dien.endet IS NULL; -- FÃŒr das zusÀtzliche Verbindungselement die Historie HIER ausschlieÃen, 75 69 -- FÃŒr andere Tabellen muss dies in dem View erfolgen, der dies verwendet. 76 */77 78 -- TEST: Schneller, wenn auf Subtring verzichtet wird? Ja!79 -- Aber: Verbindungen ÃŒber aktualisierte, also lange ID's werden nicht gefunden.80 CREATE OR REPLACE VIEW public.doppelverbindung81 AS82 -- FS >istGebucht> Buchungstelle83 SELECT f1.gml_id AS fsgml, -- gml_id FlurstÃŒck84 b1.gml_id AS bsgml, -- gml_id Buchungs85 0 AS ba_dien86 FROM ax_flurstueck f187 JOIN ax_buchungsstelle b1 ON f1.istgebucht = substring(b1.gml_id,1,16)88 UNION89 -- FS >istGebucht> Buchungstelle <an< Buchungstelle90 SELECT f2.gml_id AS fsgml, -- gml_id FlurstÃŒck91 b2.gml_id AS bsgml, -- gml_id Buchung - (herrschendes GB)92 dien.buchungsart AS ba_dien -- Ein Feld aus der Zwischen-Buchung zur Fall-Unterscheidung93 FROM ax_flurstueck f294 JOIN ax_buchungsstelle dien ON f2.istgebucht = substring(dien.gml_id,1,16)95 --JOIN ax_buchungsstelle b2 ON substring(dien.gml_id,1,16) = ANY (b2.an) -- korrekt96 JOIN ax_buchungsstelle b2 ON dien.gml_id = ANY (b2.an) -- schnell97 WHERE dien.endet IS NULL; -- Nur fÃŒr das zusÀtzliche Verbindungselement die Historie HIER ausschlieÃen,98 -- FÃŒr andere Tabellen muss dies in dem View erfolgen, der dies verwendet.99 70 100 71 COMMENT ON VIEW public.doppelverbindung … … 102 73 Dies ist ausschlieÃlich gedacht zur Verwendung in anderen Views um diese einfacher zu machen.'; 103 74 104 /* Test zur Zeitmessung105 106 SELECT dien.gml_id, herr.gml_id107 FROM ax_buchungsstelle dien108 JOIN ax_buchungsstelle herr ON dien.gml_id = ANY (herr.an)109 WHERE dien.endet IS NULL AND herr.endet IS NULL110 LIMIT 300;111 -- 78 ms112 113 SELECT dien.gml_id, herr.gml_id114 FROM ax_buchungsstelle dien115 JOIN ax_buchungsstelle herr ON substring(dien.gml_id,1,16) = ANY (herr.an)116 WHERE dien.endet IS NULL AND herr.endet IS NULL117 LIMIT 300;118 -- 19454 ms119 120 121 */122 75 123 76 -- Test-Ausgabe: Ein paar FÀlle mit "Recht an"
Note: See TracChangeset
for help on using the changeset viewer.