Access problème mémoire
Forum Programmation : Access problème mémoire
La taille de ma base de données Access fait 1500ko. Je rajoute 5 nouveau Clients la taille passe alors a 1650 ko. Je supprime 5 Clients, la taille de la base de donnée fait toujours 1650 ko
Comment cela se fait-il que, lorsque j'ajoute des clients, la taille de la basse de données augmente alors que, quand j'en supprime, la taille ne dimunie pas ?
Salut,
je ne pense pas que le topic soit placé au bon endroit. Mise à part ça, je ne sais pas. Désolée.
Je ne savais vraiment pas ou mettre mon topic ^^
Peut être un modo le déplacera dans la bonne partie, mille excuse d'avance pour l'erreur..
Merci quand même Chouby
Mais j'aimerai savoir le pourquoi en fait ^^
C'était une question poser a mon cours, mais je ne trouve aucune réponse..
Mon prof ne me répond même pas par mail ^^
Ce sujet a été déplacé de la catégorie Discussions Générales vers la catégorie Programmation par Yama310
Mon inconnue du Métro 6
Répondre à Yama310
C'est normal. C'est de l'optimisation de base de donnée. Les SGBD font parfois des choses assez bizarre mais c'est une question de tablespace etc ... je vais éviter de m'attarder sur des sujets du genre.
En gros, les données ne sont plus là, mais il garde la place pour pouvoir en stocker de nouvelle et éviter de fragmenter ses données et donc perdre en performance.
Si tu veux plus de détail, je peux le faire, pas en spécifique à Access car je n'y connais pas grand chose mais globalement en optimisation de base de donnée, ça c'est 100% dans mon domaine de compétence.
Normalement, il y a une option du menu pour compacter la base de données... Sous Access 2000, c'était comme ça. Et quand on ne le faisait pas, la base atteignait des tailles assez impressionnantes, et devenait très lente.
Donc Access ne fait que allouer de l'espace et n'en libère jamais ?
Je ne sais pas comment c'est maintenant, mais sous Access 2000 c'est un peu ce que j'ai pu constater. J'ai bossé là dessus y'a deux-trois ans; paye ta base de 20 Mo qui diminue de moitié quand tu la compactes enfin!
Ca me semble d'ailleurs compatible avec la qualité générale du reste du logiciel. Bosser sous Access, c'est un putain de cauchemar.
Petite anecdote, d'ailleurs: lorsqu'on met une requête SQL dans le moteur de la bête, vaut mieux avoir pensé à en faire une copie. Parce que quand on revient... Bah, elle a changé. Voila.
http://access.developpez.com/faq/?page=General#Compact
http://access.developpez.com/faq/? [...] compactage
Access, c'est à un vrai SGBD comme MySQL (pourtant pas le plus riche en fonctionnalités), en terme de gestion de bases de données pure, ce que la pelle sans manche est au tractopelle pour creuser sur un chantier.
Et en plus, c'est payant.
Le seul avantage, c'est que des gens qui ne connaissent rien en info peuvent s'en servir en cliquant partout, c'est magique, et qu'on peut rentrer/sortir ses données avec une jolie présentation sans se faire trop chier. Par contre, faut voir la tête des bases de données après...
AH oui mais là tu compresses l'ensemble de la base ... Après si tu compares tu mysql avec comme moteur de stockage innoDB et comme moteur Archive alors là aussi tu as une énorme différence, mais en possibilité et en perf aussi
Dans ma phrase précédente je me pausais plus la question de savoir si Access faisait des optimize table ou pas en réalité.
Bah en fait je sais pas trop ce qu'il fait quand il compresse, c'est un peu le principe d'Access, "je fais des trucs magiques et je te le dis pas"; toujours est-il que j'avais testé d'ajouter plein "d'enregistrements", de sauvegarder, de les retirer, de resauvegarder, et la base avait bien grossi.
Ce qu'en dit developpez.com:
| Citation : Ceci est dû à la méthode utilisée par Access pour stocker les enregistrements. |
Bravo les mecs.
Quand à faire des optimize table... Je sais pas ce qu'il y a dans le moteur, mais bon. J'ai de sérieux doutes là dessus.
En même temps j'ai envie de dire ... Fuyions Access ! (95% du temps)
Bonjour,
| SiM07 a écrit : En même temps j'ai envie de dire ... Fuyions Access ! (95% du temps) |
Euh oui mais faut reconnaitre que pour développer rapidement des petites applis de gestion, on fait pas mieux (ou alors j'ai pas trouvé).
Quelque fois il vaut mieux Access que beaucoup de cochonneries développées avec EXCEL qui sont de vraies bombes à retardement dans le monde de l'entreprise.
Sinon, oui la base (le fichier .mdb) ne fait que grossir car tout les objets sont stockés dedans et quand on travaille avec, il alloue de l'espace supplémentaire (objets temporaires invisibles pour l'utilisateur ?) mais ne le libère pas tout seul. il faut compacter la base (menu Outils/Utilitaires.../Compacter) de temps en temps et la taille diminue.
Cela dit, je croyais que la taille n'était pas importante ?
Sinon, en installant le bon driver ODBC on peut bosser avec des tables MySql ou autre, et là, la taille devrait moins fluctuer.
Répondre à DrSnake
| Citation :
|
Ah! Excel, mon autre Némésis. J'ai vu des feuilles de "calcul" excel utilisé comme des bases de données. C'est moche. Donc là oui, quitte à tout prendre vaut mieux un truc Access.
Mais bon, bien souvent, en tout cas dans mon expérience, dans les grosses boites ces petites applications de gestion sont utilisées pour pallier des déficiences du système général, qui ne répond pas au besoin réel des utilisateurs. Résultat, chacun a ses petits résultats de son côté, le système général n'est pas mis à jour correctement (ou le boulot est fait deux fois), et le bordel empire...
Bien sur, c'est toujours mieux qu'une merdasse Excel, ça "dépanne" de ce que le service info ne fait pas, et dans des cas spécialisés ça peut tout à fait répondre à des besoins très spécifiques (pour les toutes petites boites par exemple).
D'où les 5%.
Mais le logiciel est une plaie pour bosser avec, et c'est loin d'être la solution optimale. Ceci dit, je comprends tout à fait son utilisation en entreprise, où les solutions sont très rarement optimales...
Ah, la différence entre la théorie et la pratique!
Il y a 2042 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

SiM07