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

Requêtes et SQL. Discussion :

Temps d'exécution trop long. [AC-2007]


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mai 2012
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Temps d'exécution trop long.
    Bonjour,

    J'ai actuellement une base de données contenant plusieurs modules (~ 650 000). Chaque mois je reçois une liste de modules et je dois déterminer quels sont les nouveaux modules, donc ceux non-présent dans la BD.
    Un module est déterminer par son Part_Number (pas forcément unique), et son Serial_Number (normalement unique).

    Sur Access j'ai donc crée deux tables, une pour la BD Table_BD et une pour ma liste de modules (que j'appelerais Table_Liste)(~135000).

    Ensuite, uniquement à l'aide de requêtes SQL, j'ai crée une table Table_Liste_Présents qui regroupe tout les modules déjà présents dans la BD. Puis j'applique tout simplement un NOT IN (du Serial_Number de la Table_Liste vis à vis du Serial_Number de la Table_Liste_Présents), pour créer la table Table_Liste_Nouveaux, regroupant donc tout les nouveaux modules.

    La démarche n'est pas bien compliquée mais mon problème vient du fait que lors de la phase du NOT IN, Access met un temps fou pour "exécuter" la création de cette dernière, j'ai attendu plus de 2h et j'ai du redémarrer Access car l'exécution n'en finissais plus.
    J'ai tenter la même méthode en ne gardant que 4000 modules dans ma Table_Liste et elle fonctionne parfaitement.

    Comment puis je m'en sortir sachant que la méthode paraît bonne mais la charge de calculs ou de données doit faire planter Access :/
    Il y a-t-il un autre moyen que le NOT IN en SQL (qui semble être le problème) pour ce type de séléction ? (Je précise que je ne travaille pas via VBA, ne connaissant rien de ce langage, mais via le Mode SQL d'Access)

    Merci

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 112
    Points : 5 237
    Points
    5 237
    Par défaut
    Bonjour,

    Je pense que cette syntaxe est plus rapide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select t1.id... from t1 left join t2 on t1.id=t2.id where isnull(t2.id)

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Mai 2012
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup ça fonctionne immédiatemment grâce à votre syntaxe !
    J'imagine qu'avec cette dernière Access effectue beaucoup moins de comparaisons.

    Encore merci pour cette réponse rapide !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-97] Formulaire : Temps d'exécution trop long
    Par Tofidou dans le forum VBA Access
    Réponses: 3
    Dernier message: 04/07/2012, 13h32
  2. [XL-2010] Temps d'exécution trop long
    Par pomdeterfrite dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/05/2012, 18h41
  3. Arreter les requêtes ayant un temps d'exécution trop long
    Par shaftJackson dans le forum PL/SQL
    Réponses: 1
    Dernier message: 24/02/2010, 15h13
  4. [TCPDF] Temps d'exécution trop long
    Par -Neo- dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 06/11/2009, 12h08
  5. temps d'exécution trop long trés bizarre
    Par fatjoe dans le forum C++
    Réponses: 0
    Dernier message: 09/05/2008, 02h42

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