Ingénierie et Optimisation de Bases de Données NFE106 Guide pratique pour le TP
Ingénierie et Optimisation de Bases de Données NFE106 Guide pratique pour le TP Oracle CNAM Paris nicolas.travers (at) cnam.fr Table des matières Table des matières Chapitre Table des matières 1 Informations sur la Base de Données 3 1.1 Informations sur les capacités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 EXPLAIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 SQL*PLUS 5 2.1 Connexion via SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1.1 Connexion hors CNAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1.2 rlwrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Commandes pratiques : SQL*PLUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3 Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3 Utilisation de l’outil TOAD 8 3.1 Connexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.2 Schéma et Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.3 Interrogation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4 Utilisation de l’outil SQL Developer 11 4.1 Connexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.2 Schéma et Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.3 Interrogation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Nicolas Travers Ingénierie et Optimisation de Bases de Données 2/13 Chapitre 1. Informations sur la Base de Données Chapitre 1 Informations sur la Base de Données 1.1 Informations sur les capacités (1) Taille totale de la base (tables + index) : 1,438 Go (2) Taille d’une page disque : 8ko (3) Mémoire centrale : 400 Mo (bridée volontairement) 1.2 EXPLAIN Plan d'exécution -------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | -------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 14 | 518 | 2 | | 1 | TABLE ACCESS FULL | ARTISTE | 14 | 518 | 2 | -------------------------------------------------------------------- Statistiques -------------------------------------------------------------------- 541 recursive calls 0 db block gets 8940 consistent gets 5542 physical reads 332 redo size 2220518 bytes sent via SQL*Net to client 41729 bytes received via SQL*Net from client 3761 SQL*Net roundtrips to/from client 8 sorts (memory) 0 sorts (disk) 56386 rows processed (1) Id : Identifiant de l’opérateur ; (2) Operation : type d’opération utilisée (voir tableau récapitulatif ci-dessous) ; (3) Name : Nom de la relation utilisée ; (4) Cost : C’est le coût estimé. Ici il n’y a pas d’unité de valeur, d’ailleurs il faut prendre avec précaution la valeur, et y préférer plutôt la lecture du plan. Ici il n’y aura de valeur que pour le CBO (Cost-Based Optimizer). Attention, si nous sommes en mode CHOOSE et que la requête fait appel à plusieurs tables dont une n’a pas de statistiques calculées, Oracle choisira quand même le mode CBO ; (5) Rows : Le nombre de lignes qu’Oracle pense transférer. Ici il faut vérifier que ce nombre est en adéquation avec le nombre réel de lignes ramenées. Ici il s’agit d’une estimation basée sur les statistiques de la table, d’où l’importance de calculer ces statistiques. , (6) Bytes : Nombre d’octets qu’oracle pense transférer. Nicolas Travers Ingénierie et Optimisation de Bases de Données 3/13 Chapitre 1. Informations sur la Base de Données 1.2. EXPLAIN Voici un sous-ensemble des OPERATIONS et OPTIONS du plan d’exécution EXPLAIN (non exhaustif) : OPERATIONS OPTIONS SIGNIFICATION AGGREGATE GROUP BY Une recherche d’une seule ligne qui est le résultat de l’application d’une fonction de group à un groupe de lignes sélectionnées. AND-EQUAL Une opération qui a en entrée des ensembles de rowids et retourne l’intersection de ces ensembles en éliminant les doublants. Cette opération est utilisée par le chemin d’accès par index. CONNECT BY Recherche de ligne dans un ordre hiérarchique COUNTING Opération qui compte le nombre de lignes sélectionnées. FILTER Accepte un ensemble de ligne, appliqué un filter pour en éliminer quelque unes et retourne le reste. FIRST ROW Recherché de le première ligne seulement. FOR UPDATE Opération qui recherche et verrouille les lignes pour une mise à jour INDEX UNIQUE SCAN Recherche d’une seule valeur ROWID d’un index. INDEX RANGE SCAN Recherche d’une ou plusieurs valeurs ROWID d’un index. L’index est parcouru dans un ordre croissant. INDEX RANGE SCAN DESCEN- DING Recherche d’un ou plusieurs ROWID d’un index. L’index est parcouru dans un ordre décroissant. INTERSECTION Opération qui accepte deux ensembles et retourne l’intersection en éliminant les doublons. MARGE JOIN+ Accepte deux ensembles de lignes (chacun est trié selon un critère), combine chaque ligne du premier ensemble avec ses correspondants du deuxième et retourne le résultat. MARGE JOIN+ OUTER MARGE JOIN pour effectuer une jointure externe MINIUS Différence de deux ensembles de lignes. NESTED LOOPS Opération qui accepte deux ensembles, l’un externe et l’autre interne. Oracle com- pare chaque ligne de l’ensemble externe avec chaque ligne de l’ensemble interne et retourne celle qui satisfont une condition. NESTED LOOPS OUTER Une boucle imbriquée pour effectuer une jointure externe. PROJECTION Opération interne REMOTE Recherche de données d’une base distante. SEQUENCE Opération nécessitant l’accès à des valeurs du séquenceur SORT UNIQUE Tri d’un ensemble de lignes pour éliminer les doublons. SORT GROUP BY Opération qui fait le tri à l’intérieur de groupes SORT JOIN Tri avant la jointure (MERGE-JOIN). SORT ORDER BY Tri pour un ORDER BY. TABLE ACCESS FULL Obtention de toutes lignes d’une table. TABLE ACCESS CLUSTER Obtention des lignes selon la valeur de la clé d’un cluster indexé. TABLE ACCESS HASH Obtention des lignes selon la valeur de la clé d’un hash cluster TABLE ACCESS BY ROW ID Obtention des lignes on se basant sur les valeurs ROWID. UNION Union de deux ensembles avec élimination des doublons. VIEW Opération qui utilise une vue et retourne le résultat à une autre opération. Informations sur les statistiques : recursive calls Number of recursive calls generated at both the user and system level. Oracle maintains tables used for internal processing. When Oracle needs to make uploads/Litterature/ nfe106-guidecnam.pdf
Documents similaires










-
29
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mar 17, 2021
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 2.3213MB