FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV 2024
→
Lenteur de requete
Lenteur de requete
Débuté par nicolas, 29 juin 2005 17:07 - 2 réponses
Connectez-vous…
nicolas
#1
Posté le 29 juin 2005 - 17:07
Bonjour a tous,
Voila mon probleme :
Je veux créer une table fichier a partir d'une requete qui me trie un autre fichier HF decrit dynamiquement auparavant dont les enregsitrements proviennent de l'importation d'un fichier texte.
Alors voila ce que j'ai fait :
Requete :
SELECT * FROM [A1005-ENZ],TABLE_RB WHERE LEFT(Champ7,2)=TABLE_RB.DEP ORDER BY TABLE_RB.ZONE,Champ7,Champ8
A1005-ENZ est le fichier HF decrit dynamiquement
ensuite je parcours ma requete et la surprise
Code du parcours de la requete :
HLitPremier("REQ")
TANTQUE PAS HEnDehors("REQ")
HCopieEnreg({cNomFichierHF}+"TRI","REQ",hValDéfaut)
HAjoute({cNomFichierHF}+"TRI")
HLitSuivant("REQ")
FIN
Avec l'analyseur (sur un fichier de 44000 lignes et 12 champs) : temps d'execution de HLitPremier consomme 129 secondes ce quime semble enorme alors peut etre un probleme dans me requete...
Merci d'avance
Cordialement,
Nico
Signaler
0
0
Frédéric DEMILLY
#2
Posté le 29 juin 2005 - 19:09
Le temps de traitement vient certainement du fait qu'ici, aucun index ne peut être utilisé => table scan.
J'ai juste une question : pourquoi copier les enregistrement d'un fichier vers un autre ?
Une simple table fichier, avec un filtre, ne serait pas plus efficace ?
Frédéric.
Signaler
0
0
Stephane
#3
Posté le 30 juin 2005 - 13:35
C'est lent à cause du order by....
Parce que ce qui se passe, c'est que ça bloque sur hlitpremier.
Je m'explique, normalement, les requetes sont exécutées de façon asynchrone et toi, tu peux commencer à traiter les enregistrements retournés au FUR ET A MESURE qu'ils arrivent.
Seulement là, du fait que t'as demandé un ordre spécial pour ton resultSet, le traitement est obligé d'attendre que la requete soit complètement exécutée avant de commencer, sans quoi il n'est pas sûr de respecter l'ordre que tu as choisi dans order by. Ca explique que ce soit long tout particulièrement sur hlitpremier().
alors question : ta zone d'order by est une clé?
Car si ya pas d'index, les enregistrements doivent être triés par comparaison, ce qui demande un travail vraiment très long.
Signaler
0
0
→ Revenir à WINDEV 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Hors-sujet
Outils
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte