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 :

Optimisation de requête avec jointure textuelle


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 48
    Points : 42
    Points
    42
    Par défaut Optimisation de requête avec jointure textuelle
    Bonjour,

    Je souhaite optimiser cette requête que je trouve très longue :


    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO Tmp ( nfiche, IRP_correct )
    SELECT tlb_support.nfiche, IRP2.IRP_correct
    FROM IRP2, tlb_support
    WHERE tlb_support.pb LIKE "*" & IRP2.IRP & "*";

    Et fait je cherche des valeurs du type "SOR014" de la table IRP2 dans une zone commentaire de ce type "SOR014 Génération du fichier contentieux Les références Savelys sont correctement alimentées, mais ne répondent pas à nos besoins actuels (ni à ceux du lot 2). Serait-il possible de modifier l'alimentation des champs comme suit : Champ SGREF1 : Libellé "CLT " + n° tiers sur 12 caractères + "/ " + n° client AR sur 12 caractères Champ SGREF2 : Libellé "REF " + Numéro de commande sur 14 caractères (= n° contrat) + "/ " + N° facture sur 10 caractères (Origine abrégée du mouvement + N° mouvement OU CUF mouvement attribute 3) Merci !" de la table tlb_support une sorte de jointure textuelle.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 645
    Points : 34 353
    Points
    34 353
    Par défaut
    salut,
    déjà si ce que tu cherches apparaît en début de texte, tu peux enlever l'* de devant...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 48
    Points : 42
    Points
    42
    Par défaut
    Ce n'est pas toujours le cas malheureusement

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 645
    Points : 34 353
    Points
    34 353
    Par défaut
    tu n'as pas une jointure à faire entre les 2 tables ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 48
    Points : 42
    Points
    42
    Par défaut
    Ben justement non ? C'est tout le problème en faite.

    Je cherche à faire une sorte de datamining. La requête du dessus fonctionne bien. Elle est juste un peu longue plus de 10 minutes et comme j'en execute 6 à la suite le calcul est simple.

  6. #6
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 914
    Points : 4 814
    Points
    4 814
    Par défaut
    pour éviter ce produit cartésien, j'essaierais plutôt de mèler en VBA : via un RECORDSET et INSERT SQL

    dans un 1er recordset tu sélectionnes les pb et nfiche de tlb_support
    et en faisant défiler les records, tu fais ton INSERT mais depuis la seule table IRP2

    Hope this may help

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 48
    Points : 42
    Points
    42
    Par défaut
    Ce que tu proposes c'est de passer par un programme, c'est effectivement ce que je me suis dis . Je cherchai plutôt une solution via SQL mais si cela n'est pas plus rapide alors je passe par un programme tand pis.
    Pour recapituler ta proposition :
    Je fais un recordset sur ma première table
    Je fais défiler les enregs
    Et je compare avec un "like"

  8. #8
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 914
    Points : 4 814
    Points
    4 814
    Par défaut
    Bon résumé, amigo

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 48
    Points : 42
    Points
    42
    Par défaut
    Ca roule je fais le prog et je vois si cela va plus vite...

  10. #10
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 645
    Points : 34 353
    Points
    34 353
    Par défaut
    bonjour,
    amha non, dans la mesure où tu vas multiplier les accès à la base.
    Mais ca va dépendre de la quantité d'information à insérer

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 48
    Points : 42
    Points
    42
    Par défaut
    C'est pas énorme, je vous fais un retour semaine prochaine.

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

Discussions similaires

  1. Optimisation de requête avec jointure
    Par kineton dans le forum Requêtes
    Réponses: 8
    Dernier message: 27/08/2013, 13h47
  2. Optimisation de requête avec jointures
    Par ok.Idriss dans le forum Langage SQL
    Réponses: 4
    Dernier message: 08/12/2010, 20h44
  3. [SQL 2000] Optimisation requête avec jointure multiple
    Par zooffy dans le forum Développement
    Réponses: 5
    Dernier message: 18/09/2007, 15h38
  4. optimisation requête avec jointures externes
    Par beurtom dans le forum Oracle
    Réponses: 14
    Dernier message: 16/10/2006, 16h50
  5. optimisation d'une requête avec jointure
    Par champijulie dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 07/07/2005, 09h45

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