p1, ...
**/
{{indexmenu_n>5}}
====== TME 4-5 Plan et Index ======
L'objectif de ce TME est de comp... [[https://nuage.lip6.fr/s/iZznFcoAmn8S5Kb|affiche_plan.zip]] pour afficher les plans. **/
* téléchar... #ff0000>lire l'énoncé</fc>** de l'exercice 2 : **Plan d’une requête utilisant un index**.
Lire la sec... lplus ===
Le SGBD transforme une requête en un //plan// avant de l'évaluer.
Pour **afficher** le plan d
#ff0000>lire l'énoncé</fc>** de l'exercice 2 : **Plan d’une requête utilisant un index**.
*/
Lire la s... ervalle.
Le SGBD transforme une requête en un //plan// avant de l'évaluer.
Pour **afficher** le plan d'une requête, commencer chaque requête par
<code ascii>
explain plan for SELECT ...
</code>
puis terminer chaque requê
#ff0000>lire l'énoncé</fc>** de l'exercice 2 : **Plan d’une requête utilisant un index**.
*/
Lire la s... ervalle.
Le SGBD transforme une requête en un //plan// avant de l'évaluer.
Pour **afficher** le plan d'une requête, commencer chaque requête par
<code ascii>
explain plan for SELECT ...
</code>
puis terminer chaque requê
par le SGBD et leur coût :
<code sql>
explain plan for SELECT ...
</code>
puis terminer chaque requê... cès à chaque table ? Rappel: le coût d'accès à un plan se lit dans la **colonne Cost** de l'opérateur ra... Id=0) sur la première ligne.
<code sql>
explain plan for
select * from J;
@p4
</code>
Combien de pag... sidère la requête **R1**.
<code sql>
explain plan for
select J.licence, C.nom
from J,
par le SGBD et leur coût :
<code sql>
explain plan for SELECT ...
</code>
puis terminer chaque requê... cès à chaque table ? Rappel: le coût d'accès à un plan se lit dans la **colonne Cost** de l'opérateur ra... Id=0) sur la première ligne.
<code sql>
explain plan for
select * from J;
@p4
</code>
Combien de pag... sidère la requête **R1**.
<code sql>
explain plan for
select J.licence, C.nom
from J,
la macro p4 (touche F2)
/*
<code sql>
explain plan for SELECT ...
</code>
puis terminer chaque requê... ût d'accès à chaque table ? Rappel : le coût d'un plan se lit dans la colonne Cost de l'opérateur racine (Id=0)
<code sql>
--explain plan for
select * from J;
--@p4
</code>
===== Ex... sidère la requête **R1**.
<code sql>
explain plan for
select J.licence, C.nom
from J,
====== WatDiv Query S1 plans======
=== SPARQL DF plan ===
<code scala>
// random partitioning
val DATA... x => -1).toDF("s")
val t1OK = t1.unionAll(e1)
var plan = t1OK
// ordered by increasing triple tp size
... $idP")
}}
// next triples
for( i <- triples) {
plan = plan.join(i, "s")
}
// Execute query plan for S1
//----------------------------
queryTimeDFIter(pla
d'accès à chaque table ?
** le coût d'accès à un plan se lit dans la colonne Cost, pour la racine de l'arbre représentant le plan (première ligne). **
===== Exercice 1 : Jointure... Question 1) Jointure par hachage ===
Afficher le plan de la requête R1 et constater qu'il s'agit d'une jointure par hachage.
Dessiner l'arbre du plan d'exécution proposé par le SGBD. Numéroter les op
t passer à l'exercice suivant.
===== Exercice 2. Plan sans index =====
On s'intéresse à la durée d'une... ns la colonne **Time** du tableau représentant le plan d'exécution de la requête.
Question/réponse : Q... s** : Pour la requête nommée AgeEgal, observer le plan de la requête et repérer le parcours séquentiel d... e=18)** attachée à l'opération numéro 1 (Id=1) du plan.
* Mêmes questions idem pour les autres requêt
lub
<code sql>
connect ... @ora11
EXPLAIN plan FOR
SELECT s.prenom, s.profil, c.division
... ction ===
<code sql>
set linesize 120
EXPLAIN plan FOR
SELECT s.prenom, s.profil, c.division
... ec un transfert volumineux
<code sql>
EXPLAIN plan FOR
SELECT s.prenom, s.profil, c.division
... ite 2 contenant Stagiaire.
<code sql>
EXPLAIN plan FOR
SELECT /*+ driving_site(s) */ s.prenom, s
lub
<code sql>
connect ... @ora11
EXPLAIN plan FOR
SELECT s.prenom, s.profil, c.division
... ction ===
<code sql>
set linesize 120
EXPLAIN plan FOR
SELECT s.prenom, s.profil, c.division
... ec un transfert volumineux
<code sql>
EXPLAIN plan FOR
SELECT s.prenom, s.profil, c.division
... ite 2 contenant Stagiaire.
<code sql>
EXPLAIN plan FOR
SELECT /*+ driving_site(s) */ s.prenom, s
WatDiv Query F5 plans======
=== SPARQL Hybrid DF plan ===
<code scala>
// First triple pattern
val ret... in(l2(0),"s").join(l2(1),"s")
</code>
=== S2RDF plan ===
<code scala>
val VP2EXP=VP2Random
val tp1 =... "s").join(l2(1),"s")
</code>
=== S2RDF + Hybrid plan ===
<code scala>
val VP2EXP=VP2Subject
val s1