IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

[SQL]ADODataset et ADOQuery Vitesse d'exécution.


Sujet :

Bases de données Delphi

  1. #1
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut [SQL]ADODataset et ADOQuery Vitesse d'exécution.

    j'ai une requête SELECT un peut complexe (jointure de trois tablez et UNION avec une Autres).
    Initialement j'ai fait ma requête dans ADODataSet j'ai remarqué que la requête est très lente.
    j'ai remplacer le ADODataset un ADOQuery et l' requête s'exécute beaucoup plus vite
    quelqu'un peut il me donnée une explication ?.


    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT Sortie.Numero, Sortie.DateBS AS DateBon, Sortie.Dest, Sortie.Montant,Sortie.Validier, LigneSortie.Designation, LigneSortie.RefArt, LigneSortie.Qte AS Qant,LigneSortie.Pu,(LigneSortie.QteMax*LigneSortie.Pu) AS Mont, LigneSortie.Article, Articles.Famille 
    FROM Sortie INNER JOIN (Articles INNER JOIN LigneSortie ON Articles.Num = LigneSortie.Article) ON Sortie.Num = LigneSortie.NumBon WHERE (Sortie.Validier = :PValide) AND (LigneSortie.Retourner = :PRetoure) 
    UNION  
    SELECT Transfert.Numero, Transfert.DateBR AS DateBon, Transfert.Dest, Transfert.Montant,Transfert.Valider, LigneTransfert.Designation, LigneTransfert.RefArt, LigneTransfert.Qte AS Qant,LigneTransfert.Pu,(LigneTransfert.Qte*LigneTransfert.Pu) AS Mont, 
    LigneTransfert.Article, Articles.Famille FROM Transfert INNER JOIN (Articles INNER JOIN LigneTransfert ON Articles.Num = LigneTransfert.Article) ON Transfert.Num = LigneTransfert.NumBon WHERE (Transfert.Valider = :PValide1)

  2. #2
    Membre du Club
    Inscrit en
    Août 2002
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 65
    Points : 64
    Points
    64
    Par défaut
    Bonjour, moi je pense que c'est la finalité de l'objet qui a peut etre alourdi son implémentation. Les objets TadoDataset sont plus génériques que TAdoQuery.
    Les vrais informaticiens n'ont pas d'attaché-case ; leur tête suffit à transporter leurs connaissances.

Discussions similaires

  1. [SQL] Afficher le nombre de requêtes exécutées
    Par Sayrus dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 30/10/2007, 20h32
  2. [SQL] Connaitre l'état de l'exécution d'une requête
    Par gwen_oc dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 14/09/2007, 12h44
  3. [SQL] Requête UPDATE qui ne s'exécute pas avec PHP
    Par xplose dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 16/08/2007, 09h42
  4. Au sujet de la vitesse d'exécution des programmes
    Par emie31 dans le forum Langage
    Réponses: 5
    Dernier message: 09/11/2006, 13h42
  5. Réponses: 4
    Dernier message: 02/04/2006, 18h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo