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

SQLite Discussion :

Récupérer le résultat d'une jointure rapidement


Sujet :

SQLite

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Récupérer le résultat d'une jointure rapidement
    Bonsoir,

    Je relance sur ce sujet, mon problème n'étant pas vraiment de récupérer le résultat de la requête, ca j'y arrive.

    Le problème c'est que si ma requête comporte un join et que le nombre de lignes de ma base est assez elevé (400000), la fonction sqlite3_exec()
    appelle mon callback à un rythme plutot lent (une dizaine de lignes récupérées pas seconde). La cadence s'accélère si je fais une requête sans jointure.

    Ce que je ne comprends pas, c'est que la requete avec jointure, exécutée sur la meme base via sqlite en ligne de commande prends seulement quelques secondes.

    Alors est-ce que sqlite continu a fouiller dans la base pour m'envoyer le résultat de la requête ? Pour moi c'est assez bizarre, une fois que la requête a été exécuté, l'accès au données devrait être simple...

    Merci.

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Pour ceux qui passeraient par ici, j'ai trouvé une solution.
    J'ai rajouté un index sur la colonne servant a faire la jointure.
    Les résultats sont incomparables !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE INDEX componentidIndex on data (componentid ASC)

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

Discussions similaires

  1. Récupérer le résultat d'une jointure en java
    Par sikati dans le forum JDBC
    Réponses: 2
    Dernier message: 30/09/2014, 17h37
  2. Réponses: 7
    Dernier message: 30/06/2005, 10h06
  3. récupérer le résultat d'une requete
    Par sheira dans le forum ASP
    Réponses: 3
    Dernier message: 03/12/2004, 11h04
  4. [C#] Récupérer le résultat d'une procédure stockée
    Par fabrice1596 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 18/10/2004, 13h45
  5. Lignes en double dans le résultat d'une jointure
    Par ledevelopeur dans le forum Bases de données
    Réponses: 4
    Dernier message: 02/06/2004, 18h10

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