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 :

Ajout d'un nouveau index.


Sujet :

Oracle

  1. #1
    Candidat au Club
    Inscrit en
    Février 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Ajout d'un nouveau index.
    J'ai un tablespace qui contient les indexes et un tablespace qui contiennent les tables. j'ai un besoin d'ajouter un autre index sur un field de la table employee.
    aprés l'ajout de cet index j'ai remarqué que le process que je l'ai ajouté un index devient rapide alors que les anciens process qui utilisent un ancien index devienent lente.

    Noté bien : j'ai ajouté l'index alors que la table employé contienne des informations.

  2. #2
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    N'est-il pas envisageable que l'ajout d'un index ait modifié la plan d'exécution des autres process ? Plans qui deviendraient moins judicieux car moins performants.
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  3. #3
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Citation Envoyé par nuke_y
    N'est-il pas envisageable que l'ajout d'un index ait modifié la plan d'exécution des autres process ? Plans qui deviendraient moins judicieux car moins performants.
    C'est plus que probable !!

    La création d'index ne doit pas être pris à la légère, les impacts sont non négligeables et il faut impérativement avoir une vision globale de tous les traitements qui peuvent être faits.

    Si c'était aussi simple et aussi magique que ça, toutes les colonnes et toutes les combinaisons de colonnes seraient systématiquement indexées... ;-)

  4. #4
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Points : 277
    Points
    277
    Par défaut
    L'ajout d'un index ralentit tous les process d'insertion c'est systématique...
    (car en plus d'insérer dans la table il faut insérer dans l'index).
    Cela peut accélérer les update et les delete en général.

    Par contre si tu n'as pas supprimé les anciens index et si tes process ne sont pas de l'insertion ce n'est pas très normal.

    Est ce que l'utilisation de tel ou tel index est spécifiée dans un de tes process (par des hints /*+ ... */ )?
    Si c'est le cas il vaudrait peut être mieux les enlever ...
    Dyvim

  5. #5
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Citation Envoyé par dyvim
    Par contre si tu n'as pas supprimé les anciens index et si tes process ne sont pas de l'insertion ce n'est pas très normal.
    Pas forcément.... il suffit que les stats ne soient pas à jour et/ou qu'il y ait déjà un grand nombre d'indexes pour que l'optimizer se plante...

    Citation Envoyé par dyvim
    Est ce que l'utilisation de tel ou tel index est spécifiée dans un de tes process (par des hints /*+ ... */ )?
    Si c'est le cas il vaudrait peut être mieux les enlever ...
    +1
    On ne doit pas utiliser de hint sauf cas vraiment exceptionnels...

  6. #6
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Par contre pour vérifier si c'est bien un problème de l'optimiseur, ça peut être utile les hints.

    Pour parler de mon cas perso, il m'est déjà arrivé de planter des traitements qui marchaient bien en rajoutant un index sur une table pour accélerer un autre traitement.
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

Discussions similaires

  1. Ajout d'un nouveau serveur
    Par krfa1 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 20/05/2007, 19h29
  2. Réponses: 3
    Dernier message: 10/05/2007, 07h43
  3. [MySQL] Ajout d'un nouveau produit dans un panier
    Par ghyosmik dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 07/09/2006, 15h41
  4. [Débutant] Ajouter des tables, des indexs
    Par sunchai dans le forum Oracle
    Réponses: 2
    Dernier message: 12/07/2006, 17h46
  5. Mandriva refuse de demarrer apres l ajout d un nouveau dd
    Par Cazaux-Moutou-Philippe dans le forum Administration système
    Réponses: 6
    Dernier message: 24/03/2006, 10h57

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