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

Adaptive Server Enterprise Sybase Discussion :

Question sur les index


Sujet :

Adaptive Server Enterprise Sybase

  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 76
    Par défaut Question sur les index
    Bonjour,

    je suis entrain de modifier une procedure stockée dans laquelle il a été créée une table tempo avec un index créé juste après la fin du create

    ma modification a consisté en la modif de la clause where qui alimente la table tempo.

    à l'exécution de la proc après modif elle prend 3 fois plus de temps

    est-ce qu'il faut que je recréé l'index? sachant que ma modif sur la clause where est minime

    merci

  2. #2
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Par défaut
    Bonjour,

    il faudrait surtout créer l'index après avoir alimenté la table temporaire

    En effet, alimenter une table temporaire contenant déjà un index est beaucoup plus coûteux que de rajouter l'index par la suite.

    Il faudrait donc, dans l'idéal aussi déplacer cette création d'index.

    Note : pensez aussi à détruire l'index sur cette table avant de la supprimer dans la procédure stockée, car supprimer la table temporaire ne supprimera pas l'index automatiquement

    Cordialement,
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 76
    Par défaut
    j'ai déplacé l'instruction de création de l'index après l'alim de la table tempo mais il n'y a pas eu de changement l'execution est tjrs aussi longue.
    Si quelqu'un a une idée??

  4. #4
    Membre éprouvé
    Inscrit en
    Août 2007
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 134
    Par défaut
    Bonjour,

    pour vous aider il nous faudrait l'ordre SQL ainsi que le plan d'exécution que l'on peut obtenir en ajoutant
    set showplan on
    go
    avant l'appel de la procédure.

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Par défaut
    En général un index ne sera pas automatiquement utilisé dans la proc où il a été créé (sauf en ASE 15.x).

    Donc - soit il faut créer une sous-proc, soit il faut forcer l'index (et éventuellement forcer le plan).

    Michael

Discussions similaires

  1. question sur les index
    Par sohm dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 25/07/2006, 12h42
  2. Question sur les index
    Par Veve44 dans le forum Oracle
    Réponses: 3
    Dernier message: 09/11/2005, 14h01
  3. Question sur les index
    Par barok dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 31/05/2005, 08h06
  4. [DB2] Question sur les index et les vues
    Par ahoyeau dans le forum DB2
    Réponses: 1
    Dernier message: 14/03/2005, 08h30
  5. Questions sur les indexations
    Par freud dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/05/2004, 11h38

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