Oracle 10.2 : amélioration de perf : requête spatiale et ntile
Aloha
J'ai un explain plan pourrite sur cette requête :
Code:
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
| SELECT S.GID_D,
S.GID_A,
S.CLASS,
S.NAME
|| NTILE (
4)
OVER (
ORDER BY
SDO_GEOM.SDO_DISTANCE (S.PARC_GEOMETRY,S.BASIAS_GEOMETRY, 1) DESC),
S."TYPE",
SDO_GEOM.SDO_DISTANCE (S.PARC_GEOMETRY,S.BASIAS_GEOMETRY, 1)
FROM (SELECT /*+ ORDERED */
BASIAS.GID "GID_D",
BASIAS.GEOMETRY AS BASIAS_GEOMETRY,
PARC.GID "GID_A",
PARC.GEOMETRY AS PARC_GEOMETRY,
'PCI_PARC' "CLASS",
'BASIAS_' AS NAME,
0 "TYPE"
FROM A_REIMS.BASIAS BASIAS, A_REIMS.PCI_PARC PARC
WHERE SDO_WITHIN_DISTANCE (PARC.GEOMETRY,
BASIAS.GEOMETRY,
'distance=200') = 'TRUE'
) S
; |
Cardinalité et coût trop important pour que je puisse espérer un temps de traitement raisonnable et pourtant :( je n'ai que 608 objets en BASIAS et ~60000 en PCI_PARC.
Quelqu'un a-t'il un indice à me donner ?