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

Administration Oracle Discussion :

Indexer toutes les Foreign Key non-indexée


Sujet :

Administration Oracle

Vue hybride

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

    Informations forums :
    Inscription : Novembre 2010
    Messages : 11
    Par défaut Indexer toutes les Foreign Key non-indexée
    Bonjour à tous,

    J'ai un script qui recherche dans ma base toutes les FK non indexées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    SELECT uc.constraint_name, uc.table_name, uc.R_CONSTRAINT_NAME
    FROM user_constraints uc
    WHERE uc.constraint_type = 'R'
    AND EXISTS ( 
      SELECT ucc.position, ucc.column_name
      FROM user_cons_columns ucc
      WHERE ucc.constraint_name = uc.constraint_name
      MINUS
      SELECT uic.column_position, uic.column_name
      FROM user_ind_columns uic
      WHERE uic.table_name=uc.table_name
    )
     
    ORDER BY uc.constraint_name;
    mais j'aimerais pourvoir les créer (ces index) à partir du résultat de ce script. Comment dois-je procéder pour l'imbriquer dans ma requête de création d'index ?

    Merci de votre aide

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Le plus simple serait avec une boule PL/SQL et un execute immediate.

  3. #3
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Je ne donnerais pas la réponse car je pense que c'est une très mauvaise idée d'indexer toutes les foreign keys aveuglément...
    Désolé,
    Franck.

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 654
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 654
    Billets dans le blog
    10
    Par défaut
    Je plussoie : quand on examine le script généré par les logiciels de modélisation, scripts dans lesquels toutes les FK sont indexées, la première action consiste justement à supprimer de nombreux index inutiles.
    Examinez à minima les valeurs distinctes et les requêtes les plus lourdes avant de créer les index
    N'oubliez pas que si les index facilitent le plus souvent les recherches, ce n'est pas toujours le cas, et par contre, ils pénalisent aussi les mises à jour

  5. #5
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 2 005
    Par défaut
    Citation Envoyé par pachot Voir le message
    Bonjour,
    Je ne donnerais pas la réponse car je pense que c'est une très mauvaise idée d'indexer toutes les foreign keys aveuglément...
    Désolé,
    Franck.
    Il y a pire, chez un gros client, ils utilisent FileNet d'IBM et celui-ci indexe, d'après ce que j'ai compris, toutes les colonnes des tables!!!!! TOUTES, sans exception! Une table de 100 colonnes avait 96 index
    A tel point qu'on a mis en place une surveillance des index pour virer ceux inutilisés...

  6. #6
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Ikebukuro Voir le message
    TOUTES, sans exception! Une table de 100 colonnes avait 96 index
    Heureusement qu'ils ne savent pas qu'on peut indexer plsu qu'une colonne, sinon ils feraient toutes les combinaisons!

Discussions similaires

  1. Est ce que les Foreign keys sont indexées
    Par olibara dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/08/2009, 11h29
  2. Désactivation de toutes les Foreign Key pointant sur une table.
    Par sybaris dans le forum Développement
    Réponses: 3
    Dernier message: 29/06/2008, 20h57
  3. foreign key non indexé
    Par olivanto dans le forum Oracle
    Réponses: 10
    Dernier message: 21/03/2007, 15h20
  4. Liste des foreigns key non indexés
    Par soazig dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/05/2006, 17h50
  5. FOREIGN KEY et INDEX
    Par rsc dans le forum SQL
    Réponses: 2
    Dernier message: 19/07/2004, 09h06

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