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 | */ |
---|