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

Création index sur replace(lower(colonne), ' ') [11gR1]


Sujet :

SQL Oracle

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 36
    Points : 31
    Points
    31
    Par défaut Création index sur replace(lower(colonne), ' ')
    Bonjour,

    Je souhaite optimiser les performances d'une requête sur une table (dont je ne peux ni modifier sa structure ni ses données).
    Dans cette requête j'ai un seul filtre sous forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Where REPLACE(LOWER(COLONNE), ' ') = :p;
    Je créé mon index sur la valeur REPLACE(LOWER(COLONNE), ' '), tout se passe bien mais quand je consulte mon plan d’exécution de requête je constate que mon index n'a pas été pris.
    Sur LOWER(COLONNE) ça marche mais je suis obligé de combiner replace et lower.

    Auriez-vous une idée ?

  2. #2
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Ca marche donc donnez plus de détails (version Oracle, etc.) voir une jeu d'essaye.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 36
    Points : 31
    Points
    31
    Par défaut
    Finalement ça marche!
    Il a suffit que je déclare mon indexe sur le couple (date_fin, replace(lower(colonne), ' ')) pour que la clause where indiquée ne soit pas executé sur un FULL de la table.

    Merci.

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

Discussions similaires

  1. Création d'index sur 3 colonnes (unique)
    Par franquis dans le forum Requêtes
    Réponses: 4
    Dernier message: 22/04/2011, 02h43
  2. Création d'index sur une colonne TEXT
    Par AyManoVic dans le forum Requêtes
    Réponses: 2
    Dernier message: 03/08/2010, 00h12
  3. [TexLive 2005] Index sur une seule colonne
    Par graminou dans le forum Editeurs / Outils
    Réponses: 0
    Dernier message: 16/10/2007, 12h50
  4. Index sur le contenu d'une colonne XMLTYPE
    Par haugoyard dans le forum Oracle
    Réponses: 7
    Dernier message: 11/04/2005, 11h10
  5. Création d'index sur un TTable
    Par bencot dans le forum Bases de données
    Réponses: 3
    Dernier message: 09/03/2005, 13h23

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