begin process at 2012 05 26 17:37:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

Access

 > 

Requêtes

 > 

Lenteur d'execution dans une requte


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Lenteur d'execution dans une requte

mardi 6 octobre 2009 à 22:55:00 | Lenteur d'execution dans une requte

lidybekham07

bonsoir,
mon problème est le suivant
j'ai creé une requete qui calcule le chiffre d'affaire ht d'un client ainsi que son total TVA,Total Remise,,... et ceci par détail produit
exemple
mr dubois
article1 chiffre ht Totalremise1 ....
article2 chiffre ht Totalremise2 ...
article3 chiffre ht Totalremise3....
j'explique je travaille sur une base de donnée de gestion commerciale c'est à dire
j'ai une
  • table tiers
  • table Pièce: Contient toutes les pièces que peut etablir un tiers (Contient la cle tiers)exemple "commande,proforma,facture ,bon de livraison ,avoir sur vente,facture achat ,....
  • table Contenus pièces :contient les differents articles de chaque pièce (prix,ristourne,qte,tva,...)(Contient la cle produit,clePiéce)

    Moi ce que j'ai fait j'ai pris ma table pièce et contenus pièces et table produit (type de jointure j'ai fait inner join)
    j'ai affiche dans cette requête cléTiers,prixunitaire,cleproduit,ristourne,j'ai filtré que sur les pièce de vente
    En exécutant ma requête ceci ma pris 6 secondes
    j'ai utilisé cette requête pour faire le calcul des chiffre d'affaire ht sachant que dans le calcul j'avais des if que j'ai remplacé ceci à réduit le temps
    j'ai joint cette requête avec deux autre requête (sachant que ces deux autres requêtes je les utilisent que pour affiché des informations)
    le pbm est que dans une base de donnée ou la table "detail pièce" n'est pas trop volumineuse la requête s'exécute rapidement mais dans le cas ou la table "détail pièce est volumineuse exp 200000 produit le temps d'exécution est de 50s et ceci me pose un gros souci pour mon application
    quel sont les trucs à éviter afin de réduire le temps
    dites mois quand j'ai des jointure entre plusieurs requête et j'exécute comment fait acess

    j'espere que j'ai bien exoliqué mon pbm
  • jeudi 8 octobre 2009 à 21:04:00 | Re : Lenteur d'execution dans une requte

    EricSQL


    Sur quel SGBD es-tu ?
    Quelles sont les définitions des tables et des indexes ?

    /Eric
    lundi 12 octobre 2009 à 12:45:15 | Re : Lenteur d'execution dans une requte

    lidybekham07

    Bonjour
    C'est une base de donnée de type access
    toutes les clés sont indéxées
    Définition table
    Produit: CleProduit,Code,Designation,Reference,CleFamilleArticle,...
    Pièce:ClePièce,CleTypePièce(si c'est une pièce d'entree ou de sortie),CleTiers,DatePièce,ReferencePièce,MontantHT,TotalTvaPièce,...
    ContenuPièce: CleDetailPièce,ClePièce,CleProduit,PrixUnitaireHt,Remise%,Tva,...
    Tiers:CleTiers,Nom,Adresse,CleWilaya,.....

    Merci d'avance
    mardi 13 octobre 2009 à 20:29:38 | Re : Lenteur d'execution dans une requte

    EricSQL

    Donc si j'ai bien compris tu as des indexes seulement sur les clés.
    Je suppose que tu ne souhaites pas récupérer l'ensemble de la table pièces mais qu'une partie. Qu'elle est ton point d'entrée ? c'est un code de pièce ? une personne ?
    As-tu pensé à ajouter un index sur la colonne correspondante à ce point d'entrée ?

    /Eric
    mardi 13 octobre 2009 à 21:55:20 | Re : Lenteur d'execution dans une requte

    lidybekham07

    Pour chaque tiers de la table pièce je prend chaque produit vendu à ce client (les produits existant dans la table détails pièce )
    pour chacun de ces produits
    je calcule le chiffre d'affaire,Total Remise,Total Ristourne,QteVendus,... et ceci en parcourant les différents détail pièces ou se trouve ce même produit.

    Je sais pas si je suis assez clair ou pas
    et j'ai une autre question
    dans une requête utilisé des tables est plus rapide que l'utilisation d'autres requêtes
    mercredi 14 octobre 2009 à 19:40:54 | Re : Lenteur d'execution dans une requte

    EricSQL


    Il te faut un index sur cleTiers de la table pièce, et un sur clePiece de la table contenuPiece. Ainsi l'accès aux pièces à partir du client sera beaucoup plus rapide.

    Pour répondre à ta seconde question, cela dépend du volume de la table, des indexes présents...

    /Eric


    Cette discussion est classée dans : pièce, table, chiffre, requête, ht


    Répondre à ce message

    Sujets en rapport avec ce message

    requête sur le résultat d'une requête [ par sev622 ] Bonjour, J'ai un problème dans la construction de ma requête. J'ai une table avec 2 champs numériques : id_p, id_f Je veux compter le nombre d'id_p qu Problème Requête SQL INSERT INTO sous access [ par bonnaud ] Bonjour,J'ai un problème avec une requête INSERT INTO.En fait je veux insérer dans une BDD des champs d'une autre table. Le problème qu'en j'insère ce Requête UNION ne passe pas. [ par dpfort ] BonjourJ'ai exécuté une requête sous SQL  ne passe pas. J'ai voulu faire un goupement de Points par table, d'une même table qui est  divisée en 2.Les exécuter une requête stockée dans une table [ par chtitena ] Bonjour,Quekqu'un sait-il comment on peut faire pour exécuter une requête dont le script est stocké dans une table Oracle?Merci pour votre aide Problème avec une requête [ par emmanuel9 ] Bonjour à tous, J'ai une table Personne avec dans cette table une colonne "date de création" et ma requete ressemble à ca : "SELECT * FROM PERSONNE WH URGENT - AJOUTER UN PARAMETRE DE TYPE TABLE DANS UNE PROCEDURE STOCKEE [ par clote1 ] Bonjour,Je souhaiterez créer une procédure stockée avec un dataset en paramètre.Lorsque j'exécute ma requête je veux lui passer un dataset (appel en V COMMENT FAIRE UN CHAMP like UN AUTRE CHAMP [ par Delph83 ] Bonjour tout le monde Voilà j'ai un problème avec une requête sql et la clause LIKE : <P class=MsoNormal style="MARGIN: 0cm 0 vba sous access - insertion d'une requete dans une table [ par bonnaud ] Bonjour, J'ai fait une requête sous access en vba qui me permet de calculer un nouveau champ que j'ai nommé total à partir d'une table. J'arrive à vis faire une copie d'une table de ma base de données [ par romydamour ] salut à tous, voilà j'ai un souci avec une requête sql. Je travaille avec VisualC++ et Access. Voilà j'ai dans ma BD une table "Cycles" avec 3 colonne Update sur plusieurs tables [ par Chris_LaFouine ] Bonjour,Je voudrais savoir comment mettre à jour une table à partir des données d'une autre table. Je m'explique...J'ai une table A et une table B. Je


    Nos sponsors


    Sondage...

    CalendriCode

    Mai 2012
    LMMJVSD
     123456
    78910111213
    14151617181920
    21222324252627
    28293031   

    Consulter la suite du CalendriCode

    A découvrir



     
    Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
    CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
    CodeS-SourceS.com© est une marque déposée tous droits réservés

    Google Coop CodeS-SourceS Google Coop CodeS-SourceS
    Temps d'éxécution de la page : 2,636 sec (3)

    Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales