|
|
Apr
13
2006
|
MySQL, performance des requêtes SELECT et ordre des jointures |
|
|
|
Programmation -
Base de données
|
|
Ecrit par Kamal AOUDA
|
|
13-04-2006 |
|
MySQL, performance des requêtes SELECT et ordre des jointures
Lorsqu’une requête porte sur
plusieurs tables, l’ordre dans lequel ces tables sont parcourues est un facteur
qui affecte directement les performances. Par exemple dans la requête infra, il
faut parcourir la table customer avant la table order et la table region (le but
final étant de réduire au strict minimum le nombre d’enregistrements parcourus).
Pour MySQL la détermination de l’ordre dans lequel les tables doivent être
scannées n’est pas aussi simple parce qu’il doit, au préalable, identifier
toutes les combinaisons possibles. Cette identification est très pénalisante
pour les ressources et consomme plus de temps que l’exécution de la requête
elle-même. En fait l’identification des combinaisons possibles peut prendre
jusqu'à 29 fois plus de temps qu’il faut pour exécuter la requête .
SELECT customer.name, order.date_placed, region.name
FROM customer, order, region
WHERE order.customer_id = customer.id
AND customer.region_id = region.id
AND customer.name = 'Rajaz Camel'
Cela dit, pour réduire le délai d’exécution des requêtes portant sur plusieurs
tables, on peut procéder de la manière suivante:
* Utiliser l’utilitaire EXPLAIN pour déterminer l’ordre dans lequel MySQL scanne
les tables.
* Si cet ordre n’est pas efficient, le forcer à scanner les tables dans un ordre
précis en utilisant l’instruction STRAIGHT_JOIN (par exemple si on exécute la
requête SELECT * FROM table1 STRAIGHT_JOIN table2 WHERE ... on force MySQL à
scanner la table1 avant la table 2).
|
|
Java-XML et oracle : E-commerce - EAI - portails d'entreprise - Applications mobiles |
|
Java-XML et oracle : E-commerce - EAI - portails d'entreprise - Applications mobiles
 Cet ouvrage montre comment tirer parti de l'offre Java-XML d'Oracle,
tant au niveau de la base de données Oracle8i (drivers JDBC, conteneur
EJB, ORB Corba, XSQL...), que des produits associés, outils XML-XSLT,
JDeveloper, Oracle9i Application Server, etc.
L'ouvrage insiste tout particulièrement sur les problèmes d'intégration
de ces technologies, de design des architectures et de scalabilité des
applications. II est illustré de nombreux exemples de code et de deux
études de cas, une application e-commerce construite à l'aide d'EJB et
un serveur de documents XML multithread.
Références
Lien sur le site d'Amazon.
Fréderic Berque, Serge
Frezefond, Ludovic Sorriaux
Titre : Java, XML et Oracle
Éditeur : Eyrolles
Collection : Solutions Développeurs
Parution : mars 2001
634 pages
ISBN : 2-212-09149-4
EAN13 : 9782212091496
|
|
|