Bonjour,
J'ai deux tables dont les RTREE_QUALITY sont autour de 1 (pour info). Je souhaite établir pour chaque enregistrement de ma table S_OUVMAR, les parcelles qui sont comprises, couvertes... par celui-ci.
J'ai donc la requête suivante :
Cette requête s'exécute en 8min sans problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 SELECT P.GID, P.GEOMETRY, P.IDENT, P."propriet", P."nat_pro", P."parc_par", P."date_acq", P."origine", O.GID, O.GEOMETRY, O."identifi", O."numero", O."designat", O."numero_b" FROM A_REIMS.PCI_PARC P, A_REIMS.S_OUVMAR O WHERE SDO_RELATE(O.GEOMETRY,P.GEOMETRY,'mask=contains+covers+overlapbdyintersect+equal querytype=WINDOW')='TRUE'
Mais ne souhaitant faire un rapport que sur les ouvrages récemment saisis par mes utilisateurs, je souhaite trier et ne ressortir que les ouvrages ayant RM en "designat". J'exécute donc :
Sans grand succès. Pas de message d'erreur mais pas de résultat non plus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 SELECT P.GID, P.GEOMETRY, P.IDENT, P."propriet", P."nat_pro", P."parc_par", P."date_acq", P."origine", O.GID, O.GEOMETRY, O."identifi", O."numero", O."designat", O."numero_b" FROM A_REIMS.PCI_PARC P, A_REIMS.S_OUVMAR O WHERE O."designat"='RM' AND SDO_RELATE(O.GEOMETRY,P.GEOMETRY,'mask=contains+covers+overlapbdyintersect+equal querytype=WINDOW')='TRUE'
J'ai essayé
Mais là encore pas d'amélioration du rendement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 SELECT O.GID, PARC.GID, O.GEOMETRY, PARC.GEOMETRY, SDO_GEOM.SDO_AREA (O.GEOMETRY, 100) / 1000000 "Aire Poste", O."numero_b", O."identifi", O."numero", O."designat", SUBSTR (PARC.IDENT, 0, 3) "COMMUNE", SUBSTR (PARC.IDENT, 7, 2) "SECTION", SUBSTR (PARC.IDENT, 9, 4) "NUM_PARC", PARC."propriet", PARC."nat_pro", PARC."parc_par", PARC."date_acq", PARC."origine" FROM A_REIMS.S_OUVMAR O INNER JOIN (SELECT P.GID, P.GEOMETRY, P.IDENT, P."propriet", P."nat_pro", P."parc_par", P."date_acq", P."origine", O1.GID "GID_OUV" FROM A_REIMS.PCI_PARC P, A_REIMS.S_OUVMAR O1 WHERE SDO_RELATE (O1.GEOMETRY, P.GEOMETRY, 'mask=contains+covers+overlapbdyintersect+equal querytype=WINDOW' ) = 'TRUE') PARC ON (O.GID = PARC.GID_OUV) WHERE O."designat" = 'RM'
Une idée ?
Merci d'avance,
Partager