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

Recalcul des index d'une base de données


Sujet :

SQL Firebird

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    610
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 610
    Points : 213
    Points
    213
    Par défaut Recalcul des index d'une base de données
    Bonjour.

    J'exploite une base de données IB 7.5.1 ou certaines tables font l'objet d'INSERT périodiques en grand nombre. Ces tables comportent plusieurs millions d'enregistrements. Aussi les requêtes portant sur ces tables voient leurs performance diminuer progressivement dans le temps.

    Je pense que la baisse de performance vient du fait que les index au fur et a mesure des INSERT ne sont plus optimisés. Aussi je projette de procéder à un recalcul des indexs de façon quotidienne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Alter index nomIndex_i Inactive;
    Alter nomIndex_i Active;
    1) Peut-on effectuer cette opération sans problème sur les index systèmes RDB$nn, RBD$PRIMAYnn, RDB$FOREIGNnn ?

    2) Comment sont dénommés ces indexs système pour une structure de base de données donnée ?
    (j'ai vérifié que lorsque je génère une nouvelle base avec un script de création, les index systèmes sont bien crées avec des noms identiques)

    3) Sur certaines table j'avais crée un index, pas exemple sur la clé primaire alors que IB en crée un automatiquement. Puis-je supprimer le mien et conserver l'index interbase et recalculer régulièrement ce dernier ?

    Merci d'avance.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 115
    Points : 73
    Points
    73
    Par défaut
    Le plus simple est de faire un backup puis un restore

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    610
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 610
    Points : 213
    Points
    213
    Par défaut
    Oui je sais que cela a le meme effet, mais cela me parait assez lourd pour le faire quotidiennement.

    Je fais un backup toutes les nuits de ma base en passant par bgak que j'appelle au travers du planificateur de tâches de Windows.

    Me je veux recalculer mes indexs de façon plus lègère qu'en lançant une restauration trop fréquente (qui dit restauration, dit restauration vers nouvelles base de données, si Ok renommage vers fichier de la BDD courante... pour moi un peu risqué de faire cela de façon automatisée toutes les nuits ).

    Aussi je persiste dans mes questions initiales !

  4. #4
    Membre éprouvé Avatar de Yurck
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 14
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Février 2005
    Messages : 682
    Points : 912
    Points
    912
    Par défaut
    Bonjour,

    1°) - Oui
    2°) - Non, ça dépend.
    3°) - Oui et il faut.

    a+
    Dans le vocabulaire des couturiers seulement, patron est synonyme de modèle.
    Aymond d'Alost

  5. #5
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 712
    Points
    3 712
    Par défaut
    voilà une petite procédure pour recalculer la selectivité des index
    http://blog.developpez.com/index.php...&c=1&tb=1&pb=1
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

Discussions similaires

  1. Listes des indexes d'une base de de données
    Par The eye dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 11/01/2008, 11h55
  2. Interet de mettre des fichiers dans une base de donnée
    Par Oberown dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 04/07/2005, 11h35
  3. Créer un index pour une Base de données
    Par john7 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 31/01/2005, 21h43
  4. inserer des images dans une base de données
    Par alilou04 dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/06/2004, 18h54
  5. Liste des tables d'une bases de données spécifique
    Par faridos23 dans le forum Requêtes
    Réponses: 3
    Dernier message: 26/08/2003, 22h20

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