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

Langage SQL Discussion :

Jointure ou FULLTEXT


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 25
    Points : 23
    Points
    23
    Par défaut Jointure ou FULLTEXT
    Bonjour à tous,

    petite question qui peut parître étrange, mais dont je ne trouve pas de réponse satisfaisante.

    Une requete est-elle plus rapide en utilisant les jointure ou l'index FULLTEXT ?

    Voici l'exemple 1 :

    **table_1**
    ID int(10)
    TITLE varchar(255)
    CODE_AA int(10)
    LIBELLE_AA varchar(255)
    **index_table_1**
    INDEX CODE_AA
    FULLTEXT LIBELLE_AA

    **Requète exemple 1**
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT COUNT(*) FROM table_1 WHERE MATCH(LIBELLE_AA) AGAINST('Conseil')
    Voici l'exemple 2 :

    **table_1**
    ID int(10)
    TITLE varchar(255)
    CODE_AA int(10)
    **index_table_1**
    INDEX CODE_AA

    **table_2**
    CODE_AA int(10)
    LIBELLE_AA varchar(255)
    **index_table_2**
    INDEX CODE_AA
    FULLTEXT LIBELLE_AA

    **Requète exemple 2**
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT COUNT(*) FROM table_1 TB1
    LEFT JOIN table_2 TB2
    ON  TB1.CODE_AA = TB2.CODE_AA
    WHERE MATCH(TB1.LIBELLE_AA) AGAINST('Conseil')

    D'aprés-vous quelle requête est la plus rapide ? La **Requète exemple 1** ou la **Requète exemple 2** ?

    Sachant que **table_1** contient plusieurs millions d'enregistrements.

    Cordialement.

  2. #2
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 154
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    J'aurais tendance à dire que si LIBELLE_AA est souvent vide, alors la solution avec deux tables sera probablement plus rapide.
    Mais en revanche, si LIBELLE_AA est toujours rempli, ce sera plus lent...
    On ne jouit bien que de ce qu’on partage.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 25
    Points : 23
    Points
    23
    Par défaut
    Oui LIBELLE_AA est toujours rempli et la table réel contient beaucoup de couple CODE_AA, LIBELLE_AA (CODE_BB, LIBELLE_BB, CODE_CC, LIBELLE_CC, ect..).

    Donc autant de jointure

  4. #4
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 154
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    Euh…

    J'ai pas bien compris…

    La table1 contient plusieurs colonnes "CODE_xx" et "LIBELLE_xx" ?

    Et que cherches-tu à optimiser au juste ?
    Peux-tu donner un exemple avec de données ?
    On ne jouit bien que de ce qu’on partage.

Discussions similaires

  1. Recherche fulltext avec jointure
    Par max-mag dans le forum Requêtes
    Réponses: 0
    Dernier message: 22/07/2009, 17h28
  2. Jointures en SQL
    Par Guizz dans le forum Langage SQL
    Réponses: 10
    Dernier message: 04/06/2003, 12h21
  3. Réponses: 14
    Dernier message: 17/03/2003, 18h31
  4. Jointures INNER et jointures classiques ???
    Par UbiK dans le forum Langage SQL
    Réponses: 3
    Dernier message: 05/09/2002, 10h29
  5. jointure renvois pas tous les enregistrements
    Par rayonx dans le forum Langage SQL
    Réponses: 7
    Dernier message: 29/08/2002, 12h51

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