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 MySQL Discussion :

problème d'exécution d'une requête


Sujet :

Requêtes MySQL

  1. #1
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut problème d'exécution d'une requête
    Bonjour,

    J'ai un problème avec la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT DISTINCT organism FROM fungi2 
    WHERE sequence like '%GATTTTATACGCGGTGTC%CTACCCAACGTAT%' 
    AND organism NOT IN (SELECT DISTINCT(organism) FROM fungi2_consensus WHERE linking_consensus = 'Aspergillus fumigatus') 
    AND organism <> 'Aspergillus fumigatus'
    J'ai essayer en la simplifiant par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DISTINCT organism FROM fungi2 
    WHERE sequence like '%GATTTTATACGCGGTGTC%CTACCCAACGTAT%'
    Mais, j'ai le même problème, ça semble trop lourd même en ne passant pas par l'interface graphique mais via un programme écrit en Perl (j'utilise EasyPHP).

    C'est vrai que j'ai énormément de données dans de nombreuses bases de données, cela pourrait-il expliquer ce problème?

    Comment puis-je y remédier?


    Merci,

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 925
    Points : 6 040
    Points
    6 040
    Par défaut
    Il nous faudrait le script des tables, ainsi que les index déclarés sur ces tables.

  3. #3
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Merci d'avoir répondu si rapidement.

    Pour ce qui est de la précédente requête, le programme Perl a fini par donner une réponse au bout d'au moins 15 minutes.

    Pour ce qui est d'utiliser l'intefrace graphique, je pense que c'est sans espoir étant donné que la requête simplifiée de mon message précédent ne fonctionne déjà pas.



    J'ai amélioré la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT DISTINCT organism FROM fungi2 f 
    LEFT JOIN fungi2_consensus fc ON f.id = fc.id AND fc.linking_consensus = 'Aspergillus fumigatus'
    WHERE sequence like '%GATTTTATACGCGGTGTC%CTACCCAACGTAT%'
    AND f.organism  <> 'Aspergillus fumigatus' 
    AND  fc.id IS NULL
    Penses-tu que cela fera bien la même chose?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE TABLE `test`.`fungi_2` (
    `Id` int( 10 ) unsigned NOT NULL AUTO_INCREMENT ,
    `Organism` varchar( 50 ) default NULL ,
    `Taxon` int( 10 ) unsigned default NULL ,
    `Seq_length` smallint( 5 ) default NULL ,
    `Sequence` longtext,
    `Date` date default NULL ,
    PRIMARY KEY ( `Id` ) ,
    KEY `Organism` ( `Organism` ) 
    ) ENGINE = InnoDB DEFAULT CHARSET = latin1;
    Index de Fungi2 : Organism

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE TABLE `test`.`fungi2_consensus` (
    `id` smallint( 5 ) unsigned NOT NULL default '0',
    `linking_consensus` enum( 'Aspergillus fumigatus', 'Alternaria alternata', 'Davidiella tassiana' ) default NULL ,
    `organism` varchar( 60 ) NOT NULL default '',
    `score` decimal( 5, 2 ) NOT NULL default '0.00',
    `blast_length` smallint( 5 ) unsigned NOT NULL default '0',
    `cover` decimal( 5, 2 ) NOT NULL default '0.00',
    PRIMARY KEY ( `id` ) 
    ) ENGINE = MYISAM DEFAULT CHARSET = latin1 COMMENT = 'Les espèces les plus proches (BLAST) du consensus de A_alte'

    Ces 2 tables ont les mêmes clés primaires.


    Merci pour ton aide.

  4. #4
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 925
    Points : 6 040
    Points
    6 040
    Par défaut
    Un index sur linking_consensus pourrait améliorer les perfs.

Discussions similaires

  1. Problème d'exécution d'une requête simple
    Par developppez dans le forum Requêtes
    Réponses: 6
    Dernier message: 13/03/2009, 13h10
  2. Problème Hibernate exécution d'une requête
    Par blackmisery dans le forum Hibernate
    Réponses: 2
    Dernier message: 13/07/2008, 12h49
  3. [MySQL] problème d'exécution d'une requête
    Par max72100 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 25/06/2008, 16h28
  4. Réponses: 4
    Dernier message: 24/04/2007, 16h45
  5. [MySQL] Problème d'exécution d'une requête!
    Par pony99 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 24/01/2007, 11h38

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