Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/07/2006, 15h11   #1
Membre habitué
 
Inscription : octobre 2003
Messages : 483
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : octobre 2003
Messages : 483
Points : 136
Points : 136
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 :
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.
lio33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2006, 16h10   #2
Nouveau Membre du Club
 
Inscription : décembre 2002
Messages : 109
Détails du profil
Informations forums :
Inscription : décembre 2002
Messages : 109
Points : 39
Points : 39
Envoyer un message via ICQ à ludo00002
Le plus simple est de faire un backup puis un restore
ludo00002 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2006, 18h10   #3
Membre habitué
 
Inscription : octobre 2003
Messages : 483
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : octobre 2003
Messages : 483
Points : 136
Points : 136
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 !
lio33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 15h49   #4
Membre émérite
 
Avatar de Yurck
 
Homme
Ingénieur développement logiciels
Inscription : février 2005
Messages : 682
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 3
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 : 921
Points : 921
Bonjour,

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

a+
Yurck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2006, 15h01   #5
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

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

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
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
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h34.


 
 
 
 
Partenaires

Hébergement Web