0% ont trouvé ce document utile (0 vote)
15 vues2 pages

Qu

Le document aborde divers aspects de l'optimisation des requêtes dans Oracle, y compris la génération de plans d'exécution, l'utilisation des index, et le rôle du Cost Based Optimizer (CBO). Il traite également des statistiques, des jointures, des vues matérialisées, et des techniques de tuning pour améliorer les performances des requêtes. Enfin, il explique comment surveiller les sessions actives et identifier les requêtes lentes.

Transféré par

ahamrounimarwa2
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
15 vues2 pages

Qu

Le document aborde divers aspects de l'optimisation des requêtes dans Oracle, y compris la génération de plans d'exécution, l'utilisation des index, et le rôle du Cost Based Optimizer (CBO). Il traite également des statistiques, des jointures, des vues matérialisées, et des techniques de tuning pour améliorer les performances des requêtes. Enfin, il explique comment surveiller les sessions actives et identifier les requêtes lentes.

Transféré par

ahamrounimarwa2
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

• Qu’est-ce qu’un plan d’exécution ans Oracle, comment pouvez-vous le générer ?

• Quel est le rôle le la commande EXPLAIN PLAN dans Oracle et ou sont stockés les
informations générées ?
• Comment Oracle utilise t il les index pour optimiser les requetes ? Dans quels cas un index
peut il ne peut être utilisé ?
• Que fait la commande suivante ? Est-elle importante pour le CBO ? Justifiez votre réponse :
EXEC DBMS_STATS.GATHER_SYSTEM_STATS(‘NOWORDKLOAD’) ;
• Où sont stockés les statistiques collectées dans Oracle et comment pouvez-vous les
consulter ?
• Dans quel contexte le CBO choisirait il un Range Scan Index plutôt qu’un Unique Index ?
• Comment activer un fichier de trace pour analyser une session et pourquoi est-ce utile ?
• Qu’est-ce que le Cost Based Optimizer CBO Dans Oracle ?
• Quelle différence existe-t-il entre une jointure Nested Loop et une jointure Hash Join ?
• Quels sont les types d’index disponible dans Oracle ?
• Comment vérifier si des statistiques sont obsolètes dans Oracle ?
• Qu’est-ce qu’un plan partagé et pourquoi est-il important ?
• Comment Oracle traite t-il le requetes parallèles ?
• Que ont les histogrammes dans Oracle
• Quelle différence entre une table partitionnée et une table non partitionnée
• Comment optimiser une requête avec des sous requetes corrélées
• Qu’est-ce qu’une vue matérialisée et quand l’utiliser ?
• Comment surveiller les sessions actives en temsp réel ?
• Comment purger un espace temporaire utilisé par une session ?
• Qu’est-ce que l’Automatic Workload Repository (Awr) ?
• Comment uiliser un plan base lining pour stabiliser les performances ?
• Quel est le rôle du tablespace TEMP ?
• Quelle est l’importance de la gestion des curseurs partagés ?
• Qu’est-ce qu’un Latch dans Oracle ?
• Pourquoi et comment utiliser les hints dans Oracle ?
• Pour cette requete est-ce que l’index sera utilisé ?

• Optimiser cette requete par deux façons :

SELECT p.prof_id, p.prod_name, s.amount_sold, s.quantity_sold


FROM sales s, products p, customers c
WHERE s.prod_id = p.prod_id AND s.cust_id = c=cust_id
AND s.cust_id IN {2,3,4,5}

• Proposer un réglage pour cette requete :

SELECT employee_i, commission_pct FROM employee_temp WHERE commission_pct is NULL;


• Changer l’ordre de jointure pour améliorer les performances :

SELECT c.cust_i, cust_first_name, cust_last_name, prod_id, COUNT(*), num_sold


FROM sales s, customers c
WHERE s.cust_id = c.cust_id
GROUP BY c.cust_i, cust_firstname, cust_last_name, prod_id
ORDER BY num_sold ASC;

• Proposer deux régalges pour cette requete:

SELECT employee_id, first_name, last_name


FROM employees
WHERE TRUNC(hire_date, ‘YEAR’) = ’01-JAN-2002’;

• Expliquer le fonctionnement de cette instruction :

OPEN c4 ;
LOOP
FETCH C4 BULK COLLECT INTO r1 LIMIT 100;
EXIT WHEN c4%NOTFOUND;
END LOOP;

• Comment active l’option AUTOTRACE?


• Réécrire cette requete pour éviter uen sous requete couteuse :

SELECT * FROM SALES S JOIN CUSTOMERS C ON S.CUST_ID = c.CUST_id;

• Appliquer une technique de tuning pour améliorer cette reuete :

SELECT employee_id, comission_pct FROM employee_temp WHERE commission_pct is NULL

• Expliquer comment interpreter les resultats d’un plan d’execution.


• Quelle est la difference entre un Full Table Scan et un Index Scan ?
• Comment identifier les reuetes lentes dans une base Oracle ?
• Qu’est-ce qu’un bind variable et pourquoi est-ce important pour les performances ?
• Comment interpreter le parametre « COST » dans un plan d’execution Oracle ?
• Quels parametres système influencent le comportement du CBO ans Oracle ?

Vous aimerez peut-être aussi