Bonjour,
Une base 9i sur un serveur W2K3 héberge un progiciel REMEDY.
Je suis confronté à de gros problèmes de performance, lors de l'ouverture d'une session (via client lourd) REMEDY génére un code dynamique dont voici une partie
Lorsque j'execute cette requete il s'écoule une quinzaine de secondes.
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 SELECT COUNT(*) FROM T930 WHERE ( ( (T930.C1000000079 = 'SGP000000000004' ) AND (' ' = ' ' ) ) OR ( (' ' = T930.C536871260 ) AND ( (T930.C1000000079 != ' ' ) OR (T930.C1000000427 != ' ' ) ) ) )
Le plan d'execution montre que l'on effectue un full scan de la table T930 (300.000 enregistrements avec les stats à jour), les index ne sont pas utilisés.
Lorsque je décompose la requête en deux requêtes distinctes l'execution de chaque requête est instantannée et le plan d'execution montre que l'on passe par les index.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 SELECT COUNT(*) FROM T930 WHERE ( ( (T930.C1000000079 = 'SGP000000000004' ) AND (' ' = ' ' ) ) )Je suis en mode CHOOSE et je ne peux pas passer en mode RULES.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 SELECT COUNT(*) FROM T930 WHERE ( (' ' = T930.C536871260 ) AND ( (T930.C1000000079 != ' ' ) OR (T930.C1000000427 != ' ' ) ) )
Est il possible selon vous d'optimiser cette partie de requête ?
Merci pour votre aide,
Alain
Partager