Ignore:
Timestamp:
09/12/14 14:07:11 (10 years ago)
Author:
frank.jaeger
Message:

Zwischen-Stand vor Wochenende

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/import/sichten.sql

    r331 r332  
    3232--  2014-09-02 Tabelle "alkis_beziehungen" ÃŒberflÃŒssig machen. Relationen nun ÃŒber Spalten in den Objekttabellen.  
    3333--  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)) 
    3835 
    3936-- Bausteine fÃŒr andere Views: 
     
    5350 
    5451--           DROP VIEW public.doppelverbindung; 
    55  
    56 /*  -- korrekte Version, leider unertrÀglich langsam, z.B. beim Export von CSV aus der Auskunft 
    57  
    5852CREATE OR REPLACE VIEW public.doppelverbindung 
    5953AS 
     
    7468   WHERE dien.endet IS NULL;   -- FÃŒr das zusÀtzliche Verbindungselement die Historie HIER ausschließen,  
    7569                               -- 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.doppelverbindung 
    81 AS 
    82   -- FS >istGebucht> Buchungstelle 
    83   SELECT f1.gml_id              AS fsgml,    -- gml_id FlurstÃŒck 
    84          b1.gml_id              AS bsgml,    -- gml_id Buchungs 
    85          0                      AS ba_dien 
    86     FROM ax_flurstueck f1 
    87     JOIN ax_buchungsstelle b1   ON f1.istgebucht = substring(b1.gml_id,1,16) 
    88  UNION 
    89   -- FS >istGebucht> Buchungstelle  <an<  Buchungstelle 
    90   SELECT f2.gml_id              AS fsgml,    -- gml_id FlurstÃŒck 
    91          b2.gml_id              AS bsgml,    -- gml_id Buchung - (herrschendes GB) 
    92          dien.buchungsart       AS ba_dien   -- Ein Feld aus der Zwischen-Buchung zur Fall-Unterscheidung 
    93     FROM ax_flurstueck f2 
    94     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)    -- korrekt 
    96     JOIN ax_buchungsstelle b2   ON           dien.gml_id       = ANY (b2.an)    -- schnell 
    97    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. 
    9970 
    10071COMMENT ON VIEW public.doppelverbindung  
     
    10273Dies ist ausschließlich gedacht zur Verwendung in anderen Views um diese einfacher zu machen.'; 
    10374 
    104 /* Test zur Zeitmessung 
    105  
    106 SELECT dien.gml_id, herr.gml_id 
    107 FROM ax_buchungsstelle dien  
    108 JOIN ax_buchungsstelle herr  ON dien.gml_id = ANY (herr.an) 
    109 WHERE dien.endet IS NULL AND herr.endet IS NULL 
    110 LIMIT 300; 
    111 -- 78 ms 
    112  
    113 SELECT dien.gml_id, herr.gml_id 
    114 FROM ax_buchungsstelle dien  
    115 JOIN ax_buchungsstelle herr  ON substring(dien.gml_id,1,16) = ANY (herr.an) 
    116 WHERE dien.endet IS NULL AND herr.endet IS NULL 
    117 LIMIT 300; 
    118 -- 19454 ms 
    119  
    120  
    121 */ 
    12275 
    12376-- Test-Ausgabe: Ein paar FÀlle mit "Recht an" 
Note: See TracChangeset for help on using the changeset viewer.