Bonjour,
Une requête peut avoir plusieurs arbres algébriques. Parmis ces arbres, il existe un qui est optimal.
Comment implémenter les arbres algébriques et comment choisir l'arbre optimal ?
Merci.
Bonjour,
Une requête peut avoir plusieurs arbres algébriques. Parmis ces arbres, il existe un qui est optimal.
Comment implémenter les arbres algébriques et comment choisir l'arbre optimal ?
Merci.
Bonjour,
Ce que vous appelez un "arbre algébrique" est simplement une représentation graphique d'une opération algébrique ?
Qu'est-ce que vous entendez par "implémenter" les arbres algébriques ?
Qu'entendez-vous par "optimal" ?
Vous ne faites certainement pas référence aux éventuelles performances d'exécution, puisqu'elle ne concernent pas le modèle relationnel (et son algèbre) mais l'implémentation (le SGBDR).
Si je devais choisir entre deux arbres produisant le même résultats, a priori je choisirai celui qui fait intervenir le moins d'opérateurs.
Bonjour,
L'arbre algébrique est une représentation graphique du plan d'exécution d'une requête SQL. Tous les plan d'exécution possible pour un requête donnée.
Implémenter c-à-d construire un logiciel qui détecte tous les arbres algébriques d'une requête .
Je cherche la structure de données adéquat pour "représenter" les arbres algébriques d'une requête.
Je choisis l'arbre qui donne un temps de réponse court par rapport aux autres arbres algébriques.
Ma question: Est ce que c'est possible de construire un logiciel qui détecte les arbres algébriques en utilisant JAVA et Oracle par exemple !!!!!!!!!
si oui , comment faire ?
Vous pouvez trouver ci-joint un exemple d'une arbre algébrique.
Bonjour,
avez vous trouvé la structure convenable pour les plans de requêtes ?
Merci ^^
mais quels sont vos critères pour calculer un temps de réponse ?
Dans les SGBDR comme Oracle ou SQL Server, les critères sont :
1) la nature de l'opération et donc sa durée unitaire
2) l'estimation de cardinalité
3) le calcul de volumétrie résultant, basé sur la longueur de ligne moyenne
4) la possibilité d'utiliser le parallélisme.
Cela est du au fait que les SGBDR stockent des histogrammes statistiques sur les données des colonnes...
En effet, entre deux arbres de plan de requêtes, ce n'est pas toujours celui qui a le moins d'opérations qui sera le plus rapide, ni celui dont le coût global est minimal qui sera finalement retenu.
Par exemple avec le parallélisme, il n'est pas rare d'avoir un temps global d'exécution plus court, mais une durée CPU plus longue qu'avec une requête mono threadée... !
En particulier les opérations suivantes peuvent être parallélisées :
- SCAN
- GROUP BY
- ORDER BY
- et tous les calculs d'agrégats : COUNT, MAX, MIN, SUM, AVG...
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Merci SQLpro, est ce que vous avez un document qui explique comment calculer le coût d'une requête SQL ?.
Salut !
C'est une lourde tâche, et ça dépend pas mal du SGBD que tu choisis.
Exemple pour Oracle :
http://download.oracle.com/docs/cd/B...3/optimops.htm
Une fois que tu auras une bonne idée des différentes problématiques, il faudra que tu limites ton périmètre, car recoder un CBO (cost based optimizer), ça pourrait te prendre plusieurs centaines d'années![]()
C'est tout a fait spécifique à chaque SGBDR....
Quelques éléments théoriques :
http://masters.donntu.edu.ua/2007/fv...processing.pdf (synthèse sur l'optimiseur de SQL Server)
http://infolab.stanford.edu/~hyunjun.../ioannidis.pdf
http://www.serc.iisc.ernet.in/gradua...es/atreyee.pdf (picasso et postGreSQL)
http://www.google.fr/url?sa=t&source...S8oU8g&cad=rja
http://research.ict.ru.ac.za/g01m1261/CSHnsThesis.pdf (comparaisons optimiseur MySQL et SQL Server)
http://research.microsoft.com/pubs/1..._profiling.pdf (SQL Server TPC-H)
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Partager