[332] | 1 | -- |
---|
| 2 | -- PostNAS 0.8 |
---|
| 3 | -- Anwendung der der Schema-Ãnderungen vom 12.09.2014 auf bestehende Datenbanken |
---|
| 4 | -- |
---|
| 5 | -- 2014-09-12 FJ Indizierung der ersten 16 Zeichen der gml_id, wenn diese Ziel einer ALKIS-Beziehung ist. |
---|
| 6 | -- |
---|
| 7 | -- -> aa_objekt |
---|
| 8 | -- Welche konkreten Tabellen kann das betreffen? |
---|
| 9 | |
---|
| 10 | -- -> ap_lpo |
---|
| 11 | CREATE INDEX ap_lpo_gml16 ON ap_lpo USING btree (substring(gml_id,1,16)); -- ALKIS-Relation |
---|
| 12 | |
---|
| 13 | -- -> ax_buchungsblatt |
---|
| 14 | CREATE INDEX ax_buchungsblatt_gml16 ON ax_buchungsblatt USING btree (substring(gml_id,1,16)); -- ALKIS-Relation |
---|
| 15 | |
---|
| 16 | -- -> ax_buchungsstelle |
---|
| 17 | -- FÃŒr Relationen (ALKIS-Beziehungen) aus anderen Tabellen ÃŒber die gml_id ohne Zeitstempel |
---|
| 18 | CREATE INDEX ax_buchungsstelle_gml16 ON ax_buchungsstelle USING btree (substring(gml_id,1,16)); -- ALKIS-Relation |
---|
| 19 | |
---|
| 20 | -- -> ax_flurstueck |
---|
| 21 | CREATE INDEX ax_flurstueck_gml16 ON ax_flurstueck USING btree (substring(gml_id,1,16)); -- ALKIS-Relation |
---|
| 22 | |
---|
| 23 | -- -> ax_gebaeude |
---|
| 24 | CREATE INDEX ax_gebaeude_gml16 ON ax_gebaeude USING btree (substring(gml_id,1,16)); -- ALKIS-Relation |
---|
| 25 | |
---|
| 26 | -- -> ax_lagebezeichnungohnehausnummer |
---|
| 27 | CREATE INDEX ax_lagebezeichnungohnehausnummer_gml16 ON ax_lagebezeichnungohnehausnummer USING btree (substring(gml_id,1,16)); -- ALKIS-Relation |
---|
| 28 | |
---|
| 29 | -- -> ax_lagebezeichnungmithausnummer |
---|
| 30 | CREATE INDEX ax_lagebezeichnungmithausnummer_gml16 ON ax_lagebezeichnungmithausnummer USING btree (substring(gml_id,1,16)); -- ALKIS-Relation |
---|
| 31 | |
---|
| 32 | -- -> ax_lagebezeichnungmitpseudonummer |
---|
| 33 | CREATE INDEX ax_lagebezeichnungmitpseudonummer_gml16 ON ax_lagebezeichnungmitpseudonummer USING btree (substring(gml_id,1,16)); -- ALKIS-Relation |
---|
| 34 | |
---|
| 35 | -- -> ax_verwaltung |
---|
| 36 | CREATE INDEX ax_verwaltung_gml16 ON ax_verwaltung USING btree (substring(gml_id,1,16)); -- ALKIS-Relation |
---|
| 37 | |
---|
| 38 | -- -> ax_grenzpunkt |
---|
| 39 | CREATE INDEX ax_grenzpunkt_gml16 ON ax_grenzpunkt USING btree (substring(gml_id,1,16)); -- ALKIS-Relation |
---|
| 40 | |
---|
| 41 | -- -> ax_namensnummer |
---|
| 42 | CREATE INDEX ax_namensnummer_gml16 ON ax_namensnummer USING btree (substring(gml_id,1,16)); -- ALKIS-Relation |
---|
| 43 | |
---|
| 44 | -- -> ax_anschrift |
---|
| 45 | CREATE INDEX ax_anschrift_gml16 ON ax_anschrift USING btree (substring(gml_id,1,16)); -- ALKIS-Relation |
---|
| 46 | |
---|
| 47 | -- -> ax_person |
---|
| 48 | CREATE INDEX ax_person_gml16 ON ax_person USING btree (substring(gml_id,1,16)); -- ALKIS-Relation |
---|
| 49 | |
---|
| 50 | -- -> ax_personengruppe -- Tabelle im Schema noch nicht vorhanden |
---|
| 51 | --CREATE INDEX ax_personengruppe_gml16 ON ax_personengruppe USING btree (substring(gml_id,1,16)); -- ALKIS-Relation |
---|
| 52 | |
---|
| 53 | -- Test: -- -> ax_buchungsblatt |
---|
| 54 | /* |
---|
| 55 | |
---|
| 56 | -- Falsch und schnell, Findet nicht die FÀlle mit langer ID: |
---|
| 57 | SELECT dien.gml_id, herr.gml_id |
---|
| 58 | FROM ax_buchungsstelle dien |
---|
| 59 | JOIN ax_buchungsstelle herr |
---|
| 60 | ON dien.gml_id = ANY (herr.an) |
---|
| 61 | WHERE dien.endet IS NULL AND herr.endet IS NULL |
---|
| 62 | LIMIT 300; |
---|
| 63 | -- 78 ms |
---|
| 64 | |
---|
| 65 | -- findet alle FÀlle, ist aber unbrauchbar langsam: |
---|
| 66 | SELECT dien.gml_id, herr.gml_id |
---|
| 67 | FROM ax_buchungsstelle dien |
---|
| 68 | JOIN ax_buchungsstelle herr ON substring(dien.gml_id,1,16) = ANY (herr.an) |
---|
| 69 | WHERE dien.endet IS NULL AND herr.endet IS NULL |
---|
| 70 | LIMIT 300; |
---|
| 71 | -- 19454 ms (vor dem Patch) |
---|
| 72 | |
---|
| 73 | */ |
---|