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

SQL Firebird Discussion :

Firebird Probleme like


Sujet :

SQL Firebird

  1. #21
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 166
    Points : 144
    Points
    144
    Par défaut
    Ok merci je regarde ca.

    Sinon une petitequestion encore sur ce sujet :

    Pourquoi lors d'un like avec variable le moteur utilise le cas pessimiste a chaque fois :
    Ex :
    '%a' pas d'index possible
    '%a%' pas d'index possible
    'a%' index possible
    'a%b' index possible
    'a%b%' index possible

    En fait il ne faudrait pas utiliser l'index que dans le cas ou le % est en premoere postion. Il y a t-il une raison pour laquelle le moteur considere toujours ce cas ?

  2. #22
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 712
    Points
    3 712
    Par défaut
    tétu hein ?
    sit tu fais une requête sans utiliser de paramêtre, c'est ce que le moteur fait, car il peut savoir ce que tu indiques dans LIKE ...
    dans le cas d'une procédure ou de paramêtres, le plan est préparé une fois et ensuite on traite la valeur des paramêtres, c'est comme ça, c'est logique, cohérent et tous les moteurs fonctionnent et ne peuvent fonctionner que comme ça
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

  3. #23
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 166
    Points : 144
    Points
    144
    Par défaut
    Tétu et aime bien tous comprendre

    Merci encore !

  4. #24
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 735
    Points : 807
    Points
    807
    Par défaut
    Citation Envoyé par qi130
    Si par bonheur, tu recherches tout le temps une chaine commençant par xxx, tu peux essayer avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    where CLNOM STARTING WITH 'A';
    en plus c'est plus rapide car ça utilise l'index alors que le like le fait pas !
    j'ai vu ça quelque part mais je ne sais plus ou !

  5. #25
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Citation Envoyé par VLDG
    en plus c'est plus rapide car ça utilise l'index alors que le like le fait pas !
    j'ai vu ça quelque part mais je ne sais plus ou !
    Navré de te contredire mais qi130 à raison. Préciser like 'A%' ou starting with 'A' revient exactement au même car Firebird utilisera l'index du champ. Je me restreint bien sûr à la forme 'A%' comme le précisait qi130.

    C'est d'ailleurs tout le propos de cette discussion, et ce qu'essaye de faire comprendre P.Makowski depuis le début.

    Pour t'en convaincre fais une requête lambda dans IBExpert (que tu utilises si j'ai bien compris) avec un like 'A%' et tu verras que le plan utilise l'index.

    @+

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. probleme like avec champ numérique
    Par popofpopof dans le forum Access
    Réponses: 3
    Dernier message: 10/12/2007, 22h58
  2. Probleme like avec un blob
    Par yupa dans le forum SQL
    Réponses: 7
    Dernier message: 09/11/2007, 20h09
  3. Probleme LIKE
    Par frenzy dans le forum Langage SQL
    Réponses: 5
    Dernier message: 24/10/2005, 15h05
  4. Probleme LIKE
    Par Yphon dans le forum Langage SQL
    Réponses: 5
    Dernier message: 03/10/2005, 08h26
  5. Probleme like '%00' avec interbase
    Par BOUBOU81 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 27/10/2004, 11h49

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