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

Oracle Discussion :

[tuning] like avec variable


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Citation Envoyé par Fred_D
    C'est normal ça... ta chaîne de caractère contient '%' en début de chaîne et l'index est construit sur ce début de chaîne. On a heureusement le droit d'indexer les colonnes qui commence par %

    En revanche si tu essayes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select t.* from t,p where c like '%'||p||'%';
    Tu devrais faire un FULL SCAN

    ben j'ai essayé :-(

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    SQL> select t.* from t,p where c like '%'||p||'%';                                                                                                                              
    C               X
    ------ ----------
    ABCDEF          1
     
     
    Execution Plan
    ----------------------------------------------------------
       0      SELECT STATEMENT Optimizer=CHOOSE
       1    0   TABLE ACCESS (BY INDEX ROWID) OF 'T'
       2    1     NESTED LOOPS
       3    2       TABLE ACCESS (FULL) OF 'P'
       4    2       INDEX (RANGE SCAN) OF 'I' (NON-UNIQUE)

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Tiens... marrant... C'est probablement dû à l'index créé sur '%quelquechose'.

    Mais dans ce cas, je mets mon billet que les perfs sont exécrables si le résultat attendu est la liste des lignes qui ne commencent pas par %

Discussions similaires

  1. Syntaxe de concaténation dans un LIKE avec variable
    Par pasc06 dans le forum Langage
    Réponses: 5
    Dernier message: 28/12/2008, 17h55
  2. syntaxe like avec variable
    Par xirom dans le forum Requêtes
    Réponses: 3
    Dernier message: 23/09/2008, 23h56
  3. [1.x] Syntaxe d'une requete sql like avec variable
    Par Ryo_Saeba dans le forum Symfony
    Réponses: 2
    Dernier message: 15/04/2008, 16h32
  4. Utilisation de like avec une variable en VBA
    Par mawi dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 11/01/2008, 13h47
  5. clause like avec variable
    Par youp_db dans le forum SQL
    Réponses: 6
    Dernier message: 11/06/2007, 10h40

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