|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre expérimenté
![]() Inscription : mars 2002 Messages : 711 ![]() |
Bonjour,
j'ai une requête sur plusieurs tables qui fonctionne bien mais lorsque je mets des left outer join pour gérer les nulls : elle est excessivement longue. Avez vous une solution pour ce problème ou un indice ? Merci |
|
|
00
|
|
|
#2 |
|
Nouveau Membre du Club
![]() |
Il faut remplacer les nulls par une valeur (0 par exemple) afin d'éviter d'avoir à utiliser left outer join dans la requête.
|
|
|
00
|
|
|
#3 | |
|
Membre expérimenté
![]() Inscription : mars 2002 Messages : 711 ![]() |
Citation:
Mais ce phénomène se produit seulement avec Firebird ou c'est général avec toutes les bases de données ? |
|
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() |
J'utilisais Access avant et le temps d'exécution était plus long qu'une requête normale. Je ne sais pas pour les autres SGBD.
|
|
|
00
|
|
|
#5 |
|
Membre éprouvé
![]() Inscription : juin 2006 Messages : 728 ![]() |
[troll]Access n'étant pas un SGBD...[/troll]
Toutes les bases prendront plus de temps, puique chaque ligne trouvée sera toujours ajoutée, même s'il n'y a pas de lien entre tes tables. Par contre, je ne vois pas pourquoi remplacer NULL accélèrerait le traitement. La différence de vitesse est grande ? Si oui, tu as peut-être un souci dans ta requête.
__________________
Mindiell "Souvent, femme barrit" - Elephant man |
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() |
Vérifie que les index soient bien défini : c'est souvent le problème lorsque les requêtes sont trop longues.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com