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 :

Que privilégier : %like% dans champs texte, ou plain text ?


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 24
    Par défaut Que privilégier : %like% dans champs texte, ou plain text ?
    Bonjour,

    Dans une table, j'ai 2 champs texte (MySQL).

    Un moteur de recherche donne la possibilité aux utilisateurs de rechercher des termes dans ma table.

    Ainsi, actuellement, j'effectue une requête du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT mesChamps... WHERE champText1 LIKE '%terme1%' OR champsText2 LIKE '%terme1%...
    Si la personne entre 5 termes, ma requête devient assez longue, mais ma table ne faisant pas plus de 300 Ko, la recherche est rapide.

    Cependant, est-il judicieux d'indexer mes champs text pour ce type de recherche ?

    Et (mis à part les différences de recherche, en terme de performance uniquement, de consommation CPU du serveur) ne vaut-il pas mieux préférer une recherche en full-text, plutôt que d'utiliser LIKE ?

    Merci par avance pour vos conseils.

  2. #2
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Par défaut
    Un index est totalement inutile pour une recherche comme
    il pourrait être utilisé que pour une recherche comme

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 24
    Par défaut
    Ah, ok.

    Mais je suppose que la requête ci-dessus parse la table entièrement.

    N'y a t-il pas un autre moyen de faire, la recherche "full-text" parse t-elle la table entièrement ?

    Je suppose que nom, puisque les champs sont indexés dans ce cas, c'est bien ça ?

    Alors que faire, utiliser le LIKE '%...%' ou utiliser une recherche full-text (toujours en terme de performance, de limitation de charge du serveur sql) ?

  4. #4
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Par défaut
    Mais je suppose que la requête ci-dessus parse la table entièrement.
    Oui
    N'y a t-il pas un autre moyen de faire, la recherche "full-text" parse t-elle la table entièrement ?

    Je suppose que nom, puisque les champs sont indexés dans ce cas, c'est bien ça ?
    Oui
    La recherche full-text n'est pas implémentée dans tous les sgbdr (loin de là) mais quand c'est le cas, son utilité principale est de suppléer aux défauts de performance du like '%...%', donc si elle est disponible sur ton système : aucune hésitation, full-text est là pour cela.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 24
    Par défaut
    Et bien 100 mercis.

    Voici une réponse claire et précise.

    Mon hébergeur vient de passer à la version 4 de mySQL, je vais pouvoir exploiter la recherche full-text.

    Merci.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/08/2008, 08h28
  2. empecher saisie de caractères dans champ de type input text
    Par mussara dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/06/2006, 14h09
  3. evenements dans champ texte
    Par KAZA51 dans le forum IHM
    Réponses: 6
    Dernier message: 12/09/2005, 17h00
  4. affiche date du jour dans champ texte
    Par pascal.cargouet dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 12/01/2005, 11h04
  5. Utilisation de replace dans champs text
    Par cdelamarre dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 01/12/2004, 17h26

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