IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Procédural MySQL Discussion :

Conversion ACCESS (200mo) to Mysql qui pèse 1.7 Go....


Sujet :

SQL Procédural MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 6
    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

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    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
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 6
    Par défaut
    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....

  4. #4
    Membre chevronné Avatar de amika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2004
    Messages : 498
    Par défaut
    gorgonite a dit :
    peut-être que les types ne sont pas bien conservés
    apres verification des types, lancer l'operation d'optimisation.

  5. #5
    Membre Expert Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Par défaut
    Peut-on avoir les ordres de création des tables MySQL ?

    Et comme dit nourami des OPTIMIZE TABLE pourraient être utiles.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 6
    Par défaut
    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...

  7. #7
    Membre Expert Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Par défaut
    Utilise SHOW CREATE TABLE latable pour voir la définition d'une table, et SHOW TABLE STATUS LIKE 'latable' pour l'espace pris.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 9
    Par défaut
    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)

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 6
    Par défaut
    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

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 6
    Par défaut
    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...

  11. #11
    Membre Expert
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Par défaut
    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.

  12. #12
    Membre Expert Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Par défaut
    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

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 9
    Par défaut
    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

    ++

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 6
    Par défaut
    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.

Discussions similaires

  1. Conversion access et mysql
    Par Chree74 dans le forum Langage SQL
    Réponses: 0
    Dernier message: 14/09/2008, 17h17
  2. conversion Access MySQL
    Par Anthony17 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 14/06/2006, 15h01
  3. Conversion et re-conversion des caractères reservé à MySQL
    Par Didier100 dans le forum Bases de données
    Réponses: 4
    Dernier message: 30/06/2004, 14h23
  4. conversion Access vers SQL
    Par Bjuice2 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 23/03/2004, 13h57
  5. [ac97] Conversion Access 2 Access 97
    Par Kafi dans le forum Access
    Réponses: 6
    Dernier message: 20/12/2002, 10h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo