février
2013
CURSOR_SHARING est un paramètre Oracle utilisé pour contrôler si une instruction SQL doit être ré-analyser ou pas. Oracle peut prendre une requête de la forme SELECT * FROM table WHERE COL = «littéral» et remplacer le «littéral» avec une valeur de liaison (BIND VARIABLE) si le prédicat WHERE deviendra COL = « SYS_B_0″. Cela permet la réutilisation du plan de requête généré, menant peut-être à une meilleure utilisation de la shared pool(Zone de mémoire partagé) et une réduction du temps d’analyse effectuée par le système. Le paramètre CURSOR_SHARING peut avoir l’une des trois valeurs suivantes:
EXACT : Il s’agit du réglage par défaut. Avec cette valeur, la requête n’est pas réécrit pour utiliser des variables liées.
FORCE : Ce réglage réécrit la requête, Oracle remplace tous les littéraux de valeurs liées pour générer un plan unique pour la requête réécrite.
SIMILAR : Ce paramètre ne réécrit également la requête en remplaçant les littéraux avec des variables liées, mais peuvent mettre en place des plans différents pour différentes combinaisons de variables bind. Ce dernier point est pourquoi CURSOR_SHARING = SIMILAIRES pourrait réduire le nombre de plans générés. Parce que les plans multiples peuvent être générés, le réglage de SIMILAIRES peut ou ne peut pas réduire le nombre de plans réels que vous observez dans la piscine partagée
Catégories
L | Ma | Me | J | V | S | D |
---|---|---|---|---|---|---|
« oct | ||||||
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 |