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 :

Plantage de ACCESS lors de l’exécution d'une requête


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 38
    Points : 34
    Points
    34
    Par défaut Plantage de ACCESS lors de l’exécution d'une requête
    Bonjour Tous,
    voici un code que je veux utiliser pour trier dans une table, sur deux colonnes une déclaration de voisine unidirectionnelle. pour cela je passe par une concaténation des colonnes dans deux sens, bref.
    la requête tourne des heures sans résultat jusqu'à ce que j'y mette fin moi même en fermant le programme.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT NameofOriginalCell, NameofAdjacentCell AS OrigineDestination
    FROM Huawei_Adjacent_Cells_Table_2G
    WHERE NameofOriginalCell&NameofAdjacentCell not in (
    SELECT NameofAdjacentCell&NameofOriginalCell AS DestinationOrigine
    FROM Huawei_Adjacent_Cells_Table_2G);

    le même code a été exécuté sur un autre ordinateur qui a fourni les résultats en quelques 2 minutes maximum(nombre de ligne 130 000).
    Quelqu'un a t-il deja rencontré ce problème ?

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 337
    Points : 23 796
    Points
    23 796
    Par défaut
    Clairement ta requête est assez gourmande en ressources de calcul.

    • Y-a-t'il un grand écart technologique entre tes 2 ordinateurs ?
    • Est-ce que le lent prend ses données sur le réseau et le rapide les prend sur un disque local ?
    • As-tu essayé de faire exécuter la même requête avec moins de données en entrée (ex : 5 enregistrements) sur l'ordinateur lent et obtenu un résultat ?


    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 659
    Points : 56 972
    Points
    56 972
    Billets dans le blog
    40
    Par défaut
    bonsoir,

    tu peux déjà suivre les recommandations de Microsoft, ici

    Avoid NOT IN with SubSelects
    Using sub-selects and NOT IN is poorly optimized. Converting to nested queries or OUTER JOINs are more efficient. The following example finds customers without orders:

    Less efficient:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
          SELECT Customers.*
          FROM Customers
          WHERE Customers.[Customer ID]
                NOT IN (SELECT [Customer ID] FROM Orders);

    More efficient:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
          SELECT Customers.*
          FROM Customers LEFT JOIN Orders
               ON Customers.[Customer ID] = Orders.[Customer ID]
          WHERE ((Orders.[Customer ID] Is Null));

Discussions similaires

  1. PDO : Erreur lors de l’exécution d'une requette
    Par ikalangitahaja dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 01/02/2013, 19h36
  2. Renvoyer des infos lors de l’exécution d'une grosse requête
    Par jimmypage dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/10/2012, 05h17
  3. Plantage d'access lors d'ouverture d'états
    Par kimar dans le forum Access
    Réponses: 2
    Dernier message: 24/07/2006, 10h24
  4. [Access 2000] Aide pour finir une requête
    Par Tankian dans le forum Access
    Réponses: 4
    Dernier message: 21/12/2005, 19h53
  5. [Access] Manque d'idées sur une requête
    Par portu dans le forum Langage SQL
    Réponses: 12
    Dernier message: 22/11/2004, 12h25

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