|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Candidat au titre de Membre du Club
![]() Inscription : août 2007 Messages : 44 ![]() |
Bonjour à tous,
Je travaille sur une application Delphi se connectant à une base de données Firebird 1.5.4, contenant deux tables. L'application effectue des requêtes de type 'SELECT' et d'autre de type 'UPDATE' et sont affiliées à des transactions différentes. Un DataSet et sa transaction permettent l'affichage des données dans un DBGrid. Ayant parcouru pas mal de topic sur le sujet, je pensais avoir géré les transactions pas trop mal (exécution requête, manipulation données, fermeture transaction, sauf pour l'affichage) . Or après quelques requêtes sur la base de données, je constate une augmentation de la taille de celle-ci. CARAMBA, ENCORE RATé ! ![]() Voici les stats de la base : Citation:
Quels conseils pouvez-vous me donné pour éviter ceci? Merci d'avance pour votre aide |
|
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 215 ![]() |
met ta requete select dans une transaction READ ONLY READ COMMITED, dès que tu as le SELECT tu fais un COMMIT RETAIN
et tu raffraichis autant que besoin ta grille Autre solution,faire un select dans une transaction, récupérer les données dans l'espace mémoire de ton clients (memdataset par exemple) fermer la transaction mais bon tes stats ne sont pas mauvaises en soit, il faut bien que le moteur fasse son boulot, il lui faut un peu de place pour cela tant que les perfs ne se dégradent pas je ne vois pas où est le problème En plus de cela tous les jours tu fait un backup avec gbak (que le backup) cela participera à la collecte des données périmées et ta base devrait bien se comporter
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
00
|
|
|
#3 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : août 2007 Messages : 44 ![]() |
Merci Makowski pour tes conseils, je vais essayer tes 2 solutions proposées. You are the
![]() Citation:
Citation:
Merci de m'avoir lu et répondu |
||
|
|
00
|
|
|
#4 | |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 215 ![]() |
Citation:
cela participera à la collecte des données périmées
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
|
00
|
|
|
#5 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : août 2007 Messages : 44 ![]() |
Ok pour la collecte des données permiées, mais selon la syntaxe
Code :
|
||
|
|
00
|
|
|
#6 | |||
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 215 ![]() |
Citation:
gbak visitant tous les enregistrements de la base, il participe à la collecte des données périmées par ce seul fait donc il ne sert pas qu'à faire une sauvegarde, mais aussi participe à la maintenance de la base, sans qu'il y ait besoin de faire de restore et heureusement d'ailleurs, il ne faut pas oubliez qu'il y a aussi des gens qui utilisent Firebird avec des bases devant absolument tourner 24h/24 !
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|||
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Inscription : août 2007 Messages : 44 ![]() |
Merci à toi Philippe pour toutes ces précisions utiles.
Le temps de revoir le code, d'effectuer quelques tests et je passerai donner un feed-back. Encore merci
|
|
|
00
|
|
|
#8 | ||
![]() ![]() Serge GirardDéveloppeur informatique Inscription : janvier 2007 Messages : 3 631 ![]() |
j'ajoute mon grain de sel , dans ce fichier .BAT
Code :
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius |
||
|
|
00
|
|
|
#9 |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 215 ![]() |
hum, quasiment oui, surtout si le gbak est lancé à un moment où il est le seul à agir sur la base
Sweep fait un peu plus que gbak, mais dans la vie de tous les jours, cela devrait suffire, surtout avec les nouveaux réglages du sweep dans Firebird 2. mais bon, comme d'habitude, il n'y a pas de vérité absolue, il faut voir le contexte globale de vie de la bd, les types de transactions utilisées, l'activité, à quels moment sont lancés gbak ou gfix, ... Par contre il y a une chose qui est souvent oublié, c'est la maintenance des index cf http://blog.developpez.com/index.php...&c=1&tb=1&pb=1
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
00
|
|
|
#10 | |
![]() ![]() Serge GirardDéveloppeur informatique Inscription : janvier 2007 Messages : 3 631 ![]() |
Citation:
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius |
|
|
|
00
|
|
|
#11 |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 215 ![]() |
un fichier de traitement par lot dans un cron
mais bon, le mieux est tout de même de faire ça quand la base n'est pas sollicitée
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
00
|
|
|
#12 | |
|
Membre à l'essai
![]() Inscription : décembre 2005 Messages : 57 ![]() |
Citation:
|
|
|
|
00
|
|
|
#13 |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 215 ![]() |
Alter Index reconstruit complètement l'index
c'est bien aussi, mais un peu plus lourd et plus violent
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
00
|
|
|
#14 | |
|
Candidat au titre de Membre du Club
![]() Inscription : août 2007 Messages : 44 ![]() |
Citation:
Y a-t-il un effet indésirable si toutes les 10min par exemple, un gbak (backup seul) est lancé!? |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com