optimisation BDD Mysql
24 messages
• Page 1 sur 2 • 1, 2
- comparef
- WRInaute impliqué

- Messages: 504
- Inscription: 5 Avr 2005
optimisation BDD Mysql
Bonjour a tous,
Dans une base de donée mySQL, dans les caracteristiques de chaque table on peut voir ceci :
Espace utilisé :
Type Espace
Données 112 Octets
Index 2 048 Octets
Perte 68 Octets
effectif 2 092 Octets
Total 2 160 Octets
[Optimiser la table]
Lorsqu'on clique sur [Optimiser la table], apparament cela suprime les pertes.
Savez-vous ce qui se passe exactement lorsqu'on clique sur [Optimiser la table] ? (que action est réalisé ?)
Merci pour vos reponses
Dans une base de donée mySQL, dans les caracteristiques de chaque table on peut voir ceci :
Espace utilisé :
Type Espace
Données 112 Octets
Index 2 048 Octets
Perte 68 Octets
effectif 2 092 Octets
Total 2 160 Octets
[Optimiser la table]
Lorsqu'on clique sur [Optimiser la table], apparament cela suprime les pertes.
Savez-vous ce qui se passe exactement lorsqu'on clique sur [Optimiser la table] ? (que action est réalisé ?)
Merci pour vos reponses
Dernière édition par comparef le Dim Aoû 28, 2005 11:27, édité 2 fois.
- Fabrice99
- Nouveau WRInaute

- Messages: 13
- Inscription: 17 Mai 2005
Optimize
Bonjour,
C'est la commande optimize qui est utilisée.
Elle permet de défragmenter la base de données et de récuperer de l'espace non utilisé après effacement ou modification d'enregistrements.
Vous trouverez plus d'informations sur le site officiel de Mysql :
http://dev.mysql.com/doc/mysql/fr/optimize-table.html
C'est la commande optimize qui est utilisée.
Elle permet de défragmenter la base de données et de récuperer de l'espace non utilisé après effacement ou modification d'enregistrements.
Vous trouverez plus d'informations sur le site officiel de Mysql :
http://dev.mysql.com/doc/mysql/fr/optimize-table.html
-

doic - WRInaute passionné

- Messages: 1147
- Inscription: 7 Nov 2003
Moi j'en profite pour demander si quelqu'un connait un moyen de toujours donner le bon type à un champ MySQL en fonction de ce qu'il va contenir...
Ex: Text, VarChar, Int, Bigint etc... et aussi évidemment comment calculer les tailles de ces champs?
Le truc qui serait génial, ce serait un script qui "crawle" ma base et me génère un rapport avec les modifications à entreprendre...
Merci
Ex: Text, VarChar, Int, Bigint etc... et aussi évidemment comment calculer les tailles de ces champs?
Le truc qui serait génial, ce serait un script qui "crawle" ma base et me génère un rapport avec les modifications à entreprendre...
Merci
-

JeunZ - WRInaute accro

- Messages: 5301
- Inscription: 18 Fév 2004
Moi je le fait sans script précis... Je veux dire c'est pas compliqué.
Quand tu fais la structure de ta base de donnée tu sais par exemple que ca va etre un int qui prendra soit la valeur 0 ou 1 tu lui fou alors la taille 1, si c'est un int qui s'autoincrémente tu réflechis à combien il pourra y avoir en gros d'enregistrement dans X temps...
Pour les varchar ba il doit y avoir des tailles standart genre pour les emails, adresses etc...
Un code postale c'est une taille de 5 par exemple etc...
Pas besoin de script je crois.
Quand tu fais la structure de ta base de donnée tu sais par exemple que ca va etre un int qui prendra soit la valeur 0 ou 1 tu lui fou alors la taille 1, si c'est un int qui s'autoincrémente tu réflechis à combien il pourra y avoir en gros d'enregistrement dans X temps...
Pour les varchar ba il doit y avoir des tailles standart genre pour les emails, adresses etc...
Un code postale c'est une taille de 5 par exemple etc...
Pas besoin de script je crois.
-

Patrice A. - WRInaute passionné

- Messages: 2415
- Inscription: 11 Fév 2005
C'est très très simple.
Une fois ta base arrivée à une taille "de croisière" (c'est-à-dire qu'elle contient assez de données pour qu'on puisse se faire une idée de l'état optimum des types des champs), tu passes par phpMyadmin, et tu utilises la fonction Suggérer des optimisations pour cette table qui va faire exactement ce que tu demandes : analyser la table et t'informer des meilleurs choix.
Une fois ta base arrivée à une taille "de croisière" (c'est-à-dire qu'elle contient assez de données pour qu'on puisse se faire une idée de l'état optimum des types des champs), tu passes par phpMyadmin, et tu utilises la fonction Suggérer des optimisations pour cette table qui va faire exactement ce que tu demandes : analyser la table et t'informer des meilleurs choix.
- Vell
- WRInaute occasionnel

- Messages: 285
- Inscription: 5 Aoû 2005
Justement pour les très grosses bases ça devient intéressant au niveau du temps d'execution qui pourrait changer selon un char(1) et un int(1).
De quelques centièmes certes, mais multipliés par des milliers voire millions de fois, ça fait une sacré perte de temps.
Donc oui, un script pourrait être utile. Ou alors regarder dans la doc mysql ce qui est le plus adapté, et les commentaires aussi. Y'a des tas de bons trucs à prendre dans les com... (et des mauvais aussi, mais c'est assez rare)
De quelques centièmes certes, mais multipliés par des milliers voire millions de fois, ça fait une sacré perte de temps.
Donc oui, un script pourrait être utile. Ou alors regarder dans la doc mysql ce qui est le plus adapté, et les commentaires aussi. Y'a des tas de bons trucs à prendre dans les com... (et des mauvais aussi, mais c'est assez rare)
-

Patrice A. - WRInaute passionné

- Messages: 2415
- Inscription: 11 Fév 2005
Vell a écrit:Donc oui, un script pourrait être utile.
doic a écrit:OK, et comment savoir si on prend un varchar ou un text? etc?
j'ai vraiment l'impression d'avoir parlé dans le vide là... rassurez-moi vous avez lu ce que j'ai posté au-dessus hein ?
-

Patrice A. - WRInaute passionné

- Messages: 2415
- Inscription: 11 Fév 2005
Oh, pour le poids, tu ne gagneras rien, ou pas grand-chose. Mais la rapidité peut vraiment être améliorée par cette analyse.
Attention cependant à n'utiliser le type ENUM que si on est vraiment sûr que les valeurs du champ appartiennent à un ensemble discret, fini, et connu.
Attention cependant à n'utiliser le type ENUM que si on est vraiment sûr que les valeurs du champ appartiennent à un ensemble discret, fini, et connu.
- comparef
- WRInaute impliqué

- Messages: 504
- Inscription: 5 Avr 2005
lorsque je créé une table, le prevoi toujours 2 champs en plus (que je nome par exemple "reserve1" et "reserve2".
Car il est fréquent que je soit obligé de rajouter des champs apres coup.
cela m'evite donc de reprogrammer mes requetes lorsque je rajoute un ou 2 champs.
Au niveau de l'optimisation (vitesse d'execution et poids) cette technique est-elle à proscrire ?
Car il est fréquent que je soit obligé de rajouter des champs apres coup.
cela m'evite donc de reprogrammer mes requetes lorsque je rajoute un ou 2 champs.
Au niveau de l'optimisation (vitesse d'execution et poids) cette technique est-elle à proscrire ?
24 messages
• Page 1 sur 2 • 1, 2
Lectures recommandées sur ce thème :
- Problématique optimisation accès bdd mysql ...
- Optimisation BDD
- [BDD] optimisation des bases
- Saturation BDD MySQL
- BDD MySQL en Bulgare ?
- Cherche à nettoyer ma BDD mysql
- News avec BDD Mysql
- Logiciel d'importation de BDD ds MYSQL ??
- Une Bdd mysql par langue
- Comment faire une maintenance de ma BDD mysql
Qui est en ligne
Utilisateurs parcourant ce forum: kenzen, spout et 0 invités
