|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
comparef WRInaute impliqué

Inscrit le: 05 Avr 2005 Messages: 497
|
Posté le : Sam Aoû 27, 2005 16:59 Sujet du message: 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
Dernière édition par comparef le Dim Aoû 28, 2005 12:27; édité 2 fois |
|
| |
|
 |
Fabrice99 Nouveau WRInaute
Inscrit le: 17 Mai 2005 Messages: 13 Localisation: Mons (Belgique)
|
Posté le : Sam Aoû 27, 2005 17:35 Sujet du message: 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 |
|
| |
|
 |
comparef WRInaute impliqué

Inscrit le: 05 Avr 2005 Messages: 497
|
Posté le : Sam Aoû 27, 2005 17:51 Sujet du message: optimisation BDD Mysql |
|
|
| ok, merci pour ta réponse |
|
| |
|
 |
JeunZ WRInaute accro

Inscrit le: 18 Fév 2004 Messages: 5306
|
Posté le : Sam Aoû 27, 2005 20:35 Sujet du message: optimisation BDD Mysql |
|
|
| Quand tu as une grosse base de donnée très utilisée (ajout d'enregistrement, delete etc...) utilise cette commande régulièrement pour que les accès soient plus rapide et récuperer l'espace perdu... |
|
| |
|
 |
doic WRInaute accro

Inscrit le: 07 Nov 2003 Messages: 1083 Localisation: Lima, Perú
|
Posté le : Sam Aoû 27, 2005 23:38 Sujet du message: optimisation BDD Mysql |
|
|
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  |
|
| |
|
 |
JeunZ WRInaute accro

Inscrit le: 18 Fév 2004 Messages: 5306
|
Posté le : Sam Aoû 27, 2005 23:44 Sujet du message: optimisation BDD Mysql |
|
|
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. |
|
| |
|
 |
Patrice A. Modérateur

Inscrit le: 11 Fév 2005 Messages: 2397 Localisation: Nantes
|
Posté le : Dim Aoû 28, 2005 1:02 Sujet du message: optimisation BDD Mysql |
|
|
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. |
|
| |
|
 |
doic WRInaute accro

Inscrit le: 07 Nov 2003 Messages: 1083 Localisation: Lima, Perú
|
Posté le : Dim Aoû 28, 2005 1:02 Sujet du message: optimisation BDD Mysql |
|
|
| OK, et comment savoir si on prend un varchar ou un text? etc? |
|
| |
|
 |
Vell WRInaute impliqué

Inscrit le: 05 Aoû 2005 Messages: 282 Localisation: Rennes
|
Posté le : Dim Aoû 28, 2005 1:04 Sujet du message: optimisation BDD Mysql |
|
|
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) |
|
| |
|
 |
Patrice A. Modérateur

Inscrit le: 11 Fév 2005 Messages: 2397 Localisation: Nantes
|
Posté le : Dim Aoû 28, 2005 1:12 Sujet du message: optimisation BDD Mysql |
|
|
| 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 ? |
|
| |
|
 |
doic WRInaute accro

Inscrit le: 07 Nov 2003 Messages: 1083 Localisation: Lima, Perú
|
Posté le : Dim Aoû 28, 2005 1:21 Sujet du message: optimisation BDD Mysql |
|
|
Et non Dj!
Je viens de capter ton message, on a posté en même temps!!
Je fonce sur PhpMyAdmin pour voir cette fonction magique!!! |
|
| |
|
 |
doic WRInaute accro

Inscrit le: 07 Nov 2003 Messages: 1083 Localisation: Lima, Perú
|
Posté le : Dim Aoû 28, 2005 1:23 Sujet du message: optimisation BDD Mysql |
|
|
C'est GENIALEUH!!!
Je m'occupe de ça le plus vite possible et je regarde si ça me réduit le poids de ma base de beaucoup ou pas...
Merci Dj_Apx!! |
|
| |
|
 |
Patrice A. Modérateur

Inscrit le: 11 Fév 2005 Messages: 2397 Localisation: Nantes
|
Posté le : Dim Aoû 28, 2005 1:27 Sujet du message: optimisation BDD Mysql |
|
|
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. |
|
| |
|
 |
doic WRInaute accro

Inscrit le: 07 Nov 2003 Messages: 1083 Localisation: Lima, Perú
|
Posté le : Dim Aoû 28, 2005 1:41 Sujet du message: optimisation BDD Mysql |
|
|
| J'ai pas mal de champs qui fonctionnent en binaire (NULL ou 1) et je pense que ce type de champ devrait correspondre, non? en tout cas c'est ce que me propose PhpMyAdmin... |
|
| |
|
 |
comparef WRInaute impliqué

Inscrit le: 05 Avr 2005 Messages: 497
|
Posté le : Dim Aoû 28, 2005 8:14 Sujet du message: optimisation BDD Mysql |
|
|
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 ? |
|
| |
|
 |
| |
|
|