Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
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 25/02/2006, 19h02   #1
Invité de passage
 
Inscription : septembre 2004
Messages : 6
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 6
Points : 0
Points : 0
Par défaut Conversion ACCESS (200mo) to Mysql qui pèse 1.7 Go....

Bonjour

J'ai décidé de migrer mon site ASP/ACCESS en PHP/MySQL.

J'ai utilisé le logiciel Access2MySQL Pro, qui fonctionne parfaitement.

Seul problème et non des moindres, la base ACCESS 2000 qui pesait 200mo, fait maintenant 1.7 Go sous Mysql.

J'ai essayé avec une base Access de 17mo, et elle fait 75mo sous Mysql.

Que ce soit en INNODB ou MyISAM, le problème reste identique.

Est-ce normal ? comment se fait-il qu'une base MySQL soit 8 fois plus volumineuse qu'une base ACCESS à données égales.

Je pensais que cela aurait été le contraire.

Quelqu'un à une idée, parce qu'une base MySQL à 1.7go, ce n'est pas possible pour moi...

Mercid 'avance pour vos réponses
labylo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2006, 19h17   #2
Rédacteur/Modérateur
 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur Système
Inscription : décembre 2005
Messages : 9 771
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Ingénieur Système
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 771
Points : 14 296
Points : 14 296
peut-être que les types ne sont pas bien conservés... donc la représentation des données est différente, et ça "gonfle" ta base


essaies aussi avec ce logiciel... sans garantie
http://www.mysqlfront.de/index.html
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2006, 18h41   #3
Invité de passage
 
Inscription : septembre 2004
Messages : 6
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 6
Points : 0
Points : 0
Bonjour

merci pour cette piste, mais cela ne change rien....

Je ne comprend pas pourquoi une base access de 200 passe à 1.7 Go une fois convertie sous MySQL (que ce soit InnoDB ou MyIsam)

Si je trouve le pourquoi du comment, je tacherai de venir poster la réponse...

En attendant, si d'autres personnes ont des pistes....
labylo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2006, 19h16   #4
Membre éprouvé
 
Avatar de amika
 
Inscription : septembre 2004
Messages : 499
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 499
Points : 414
Points : 414
Envoyer un message via MSN à amika Envoyer un message via Yahoo à amika
gorgonite a dit :
Citation:
peut-être que les types ne sont pas bien conservés
apres verification des types, lancer l'operation d'optimisation.
amika est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2006, 11h33   #5
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Peut-on avoir les ordres de création des tables MySQL ?

Et comme dit nourami des OPTIMIZE TABLE pourraient être utiles.
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2006, 21h33   #6
Invité de passage
 
Inscription : septembre 2004
Messages : 6
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 6
Points : 0
Points : 0
Bonjour

Les ordres de création, hélas, je ne les ais pas, j'ai uitilisé un shareware qui s'appelle Access2MySQL Pro 5....(je vais voir si ya pas moyen de récupérer des logs....)

comme conseillé, j'ai essayé "Optimiser la table"....mais la taille n'a pas changée...:-(

je continue de faire des tests.....

merci pour vos propositions en tout cas...
labylo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2006, 22h57   #7
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Utilise SHOW CREATE TABLE latable pour voir la définition d'une table, et SHOW TABLE STATUS LIKE 'latable' pour l'espace pris.
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2006, 11h03   #8
Candidat au titre de Membre du Club
 
Inscription : septembre 2005
Messages : 9
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 9
Points : 10
Points : 10
bonjour,

si ça peut t'aider j'ai eu le même genre de soucis et en faite regarde du coté du type de tes données de tes champs texte généralement il a du te les mettre en char... se qui pose problème car si il te mets un char(50) et que tu as 3 caractères dedans il te remplira le reste d'espace se qui augemente facilement la taille... donc la solution est de les passer en varchar mais si ton programme le gére pas ben... bon courage

ps : si ton log le gére pas j'peut te rechercher mon programme que j'avais fait en vb6 pour la génération d'un script sql à partir d'une base access mais ça risque d'être long si ta base fait 200Mo la mienne ne fesait que 28Mo... (et seulement 16Mo sous mysql)
Aurelien21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2006, 18h57   #9
Invité de passage
 
Inscription : septembre 2004
Messages : 6
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 6
Points : 0
Points : 0
Bonjour
Merci pour vos conseils :

Alors, SHOW TABLE STATUS LIKE (sur une table de 512 Mo) donne

Name : honneur
Engine : InnoDB
Version :9
Row_format: Fixed
Rows:1239609
Avg_row_length:411
Data_length:509607936
Max_data_length:NULL
Index_length:35209216
Data_free:0
Auto_increment:4019459
Create_time:2006-02-24 17:54:18
Update_time:NULL
Check_time:NULL
Collation:utf8_general_ci
Checksum:NULL
Create_options:InnoDB
Comment free: 833536 kB;

Je vous avoue que là cela dépasse mes compétences...


Sinon pour les char au lieu des varchar, effectivement, tout mes champs texte sont en "char".. ??? ca m'etonne que cela vienne de là quand meme, une différence de 1.5 Go en texte "blanc" ?

Mais bon, je creuse la dessus, j'essai de transformer en Varchar et vous tiens au courant

Merci pour votre aide
labylo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2006, 19h18   #10
Invité de passage
 
Inscription : septembre 2004
Messages : 6
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 6
Points : 0
Points : 0
Bah effectivement, je viens de passer de 1.7go à 270 Mo avec les varchar.

par contre j'ai pas regardé les données, j'espère qu'elles ont pas été corrompues.

Un truc bizare cependant :

dans toutes les tables, j'avais plusieurs champs de type "char"

Je modifie le premier en varchar, et là, ô miracle, tout les champs "char" de la table ont été transformé en "varchar" (alors que je n'ai demand à en modifier qu'un seul...)

C'est normal ça ???

En tout cas, merci pour la piste, ça me convient déjà beaucoup mieux...
labylo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2006, 09h24   #11
Membre Expert
 
Avatar de Sivrît
 
Inscription : février 2006
Messages : 953
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2006
Messages : 953
Points : 1 189
Points : 1 189
Citation:
Envoyé par labylo
une différence de 1.5 Go en texte "blanc" ?
Citation:
Envoyé par labylo
Rows:1239609
En fait ce n'est pas si étonnant car avec plus d'un million d'enregistrements le moindre octet qui ne sert à rien dans un champ va faire perdre 1Mo Donc tout de suite ça chiffre.
Sivrît est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2006, 10h10   #12
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Citation:
Envoyé par labylo
Je modifie le premier en varchar, et là, ô miracle, tout les champs "char" de la table ont été transformé en "varchar" (alors que je n'ai demand à en modifier qu'un seul...)

C'est normal ça ???
Oui : http://dev.mysql.com/doc/refman/5.0/en/silent-column-changes.html
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2006, 17h48   #13
Candidat au titre de Membre du Club
 
Inscription : septembre 2005
Messages : 9
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 9
Points : 10
Points : 10
c'est bizarre qu'elle soit plus importante ta base sous mysql mais bon déjà 270Mo c déjà mieux avec les varchar après tu as peut etre d'autre type de champs qui pose des problèmes similaire genre si tu avait des entier 16 et qu'il te les a passé en entier 32 ou des choses du genre...
tu utilise quoi comme type de champs dans tes tables ?

et aussi si tu as des dates peut etre qu'il te les as mis en datetime donc coller des 00:00:00 pour l'heure si tu en avait pas enfin des choses comme ça sur des millions d'enregistrement peut vite chiffrer en terme de taille ton logiciel que tu as utilisé n'était peut etre pas forcément super optimisé sur se genre de chose.

bon courage

++
Aurelien21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 17h21   #14
Invité de passage
 
Inscription : septembre 2004
Messages : 6
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 6
Points : 0
Points : 0
Bah merci beaucoup à tous pour votre aide.

Ca va beaucoup mieux, et effectivement, il me semble que le logiciel utilisé (access2mysql PRO 5), n'est pas super optimisé en matière de conversion de type...(impossible de choisir VARCHAR entre autre...)

En tout cas merci à tous.
labylo 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 02h02.


 
 
 
 
Partenaires

Hébergement Web