PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Accélérer l'accès natif MySQL
Accélérer l'accès natif MySQL
Débuté par fduhaut, 12 nov. 2005 08:44 - 9 réponses
Posté le 12 novembre 2005 - 08:44
Bonjour,

J'ai migré une appli Hyper File monoposte vers une base MySQL pour compatibilité avec une base existante sans toucher au code (utilisation de hAjoute, hModifie etc...)

Mon appli importe des fichiers CSV de 5 000 à 10 000 lignes venant de PDA. J'avais remarqué un temps d'accès assez long lors de hAjoute() et quelques plantages de l'appli.

Et bien j'ai tous résolu !

J'utilise maintenant MySQL 5.0.

La lenteur venait de la config MySQL des tables :
- il faut sélectionner "MyISAM storage engine" pour chaque table et non "InoDB storage engine" qui je crois gère les transactions mais est très lent lors de hAjoute.

Vous pouvez bien sur faire cette modif va MySQL Administrator. J'ai des temps de réponse excellent.

Voila, juste pour info.

Bon dev.
Posté le 12 novembre 2005 - 09:29
Mouais,

Mais perdre les transactions c'est super dommage dans une applic je trouve.
Posté le 12 novembre 2005 - 10:58
J'ajoute juste : par défaut quand vous créez vos tables dans MySQL avec hcréationSiInexistant(), les tables sont au format InoDB. Donc accès assez lent. Il faut donc les modifier avec l'accès MyISAM.

J'ai également eu quelques soucis avec les champs Heures. Lors d'une synchro de l'analyse avec la base SQL, mes champs étaient convertis en type DateHeure (???).

Donc faire attention lors de synchro entre l'analyse et la base MySQL.

Sinon, avec le recul, je trouve l'accès même plus rapide que HF classique. Je vais faire des test avec HF C/S.

Pour le support technique : l'outils de backup/restore de MySQL administrator est drolement bien fait. On peut paramétrer facilement le backup de sa base sur le serveur. En souhaitant voir un équivalent en version 10 (que l'on attend avec impatience).

Voila. Bon WE.
Posté le 12 novembre 2005 - 13:37
Bonjour,
"Francis DUHAUT" <fduhaut@club-internet.fr> writes:

J'ajoute juste : par défaut quand vous créez vos tables dans MySQL
avec hcréationSiInexistant(), les tables sont au format InoDB. Donc
accès assez lent. Il faut donc les modifier avec l'accès MyISAM.


Les temps d'écriture entre MyISAM et innodb sont très proches, parcontre il faut
dans le cas de Innodb écrire votre importation dans une transaction,
et penser également à régler l'autocommit.

J'ai également eu quelques soucis avec les champs Heures. Lors d'une
synchro de l'analyse avec la base SQL, mes champs étaient convertis en
type DateHeure (???).

Donc faire attention lors de synchro entre l'analyse et la base MySQL.

Sinon, avec le recul, je trouve l'accès même plus rapide que HF
classique. Je vais faire des test avec HF C/S.


POur accélérez l'importation il est possible de faire un import du
fichier voir load data.


Pour le support technique : l'outils de backup/restore de MySQL
administrator est drolement bien fait. On peut paramétrer facilement
le backup de sa base sur le serveur. En souhaitant voir un équivalent
en version 10 (que l'on attend avec impatience).

Voila. Bon WE.



--
suivre ce lien pour répondre:
http://cerbermail.com/…
Daniel
;-)
Posté le 12 novembre 2005 - 19:33
Oui mais cela dépend tu type d'application ou du type de traitement.

BOn WE,
Posté le 13 novembre 2005 - 23:23
salut...
la je vois que je suis tomber sur des gens maitrisant l'acces natif mysql...
bon j"aimerais bien vous poser certaine question mais pour le moment mon acces natif mysql ne marche pas. donc j'aimerais vous demander si quelqu'un pourrait bine me l'envoyer par mail.
evidamment j'utilise WD9 et j'ai besoin d'un acces dont la version est inferieur au 28d ( j'ai dejas celui qui se trouve en se moment sur le site officiel de pcsoft
Posté le 14 novembre 2005 - 21:01
Je te conseil de télécharger MySQL 5.0 sur www.mysql.com .

Ensuite, tu télécharges l'accès natif mysql de windev sur le site pcsoft.

Tu copie le fichier libmysql.dll se trouvant dans le répertoire \mySQL\bin de MySQL dans le répertoire Exe de ton projet et dans C:\windev\programme.

Ensuite tu télécharge MySQL administrator toujours sur www.mysql.com . Tu pourras créer tes comptes, ta base de donnée.

Ensuite, tu prends un projet simple dans lequel tu crées une table style CLIENT avec Nom - Prénom etc...

Tu décris la connexion à ta base de donnée directement depuis l'analyse. Comme cela, tu pourras voir ta table MySQL avec WDmap ou par HCOnnexion')

Tu places un HcréationSiInexistant(CLIENT) dans ton code de projet ce qui va créer ta table dans MySQL.

Et voila...
Posté le 15 novembre 2005 - 11:05
Le MyIsam fait perdre les transactions et également l'intégrité référentielle.

Mais c'est vrai que pour de grand fichier 'plats' sans lien d'intégrité, MyIsam est conseillé.

Pour info, on travaille en InnoDb et la vitesse est 'raisonnable'

Fred
Posté le 15 novembre 2005 - 12:20
Francis DUHAUT a écrit :
Je te conseil de télécharger MySQL 5.0 sur www.mysql.com .

Ensuite, tu télécharges l'accès natif mysql de windev sur le site pcsoft.

Tu copie le fichier libmysql.dll se trouvant dans le répertoire \mySQL\bin de MySQL dans le répertoire Exe de ton projet et dans C:\windev\programme.

Ensuite tu télécharge MySQL administrator toujours sur www.mysql.com . Tu pourras créer tes comptes, ta base de donnée.

Ensuite, tu prends un projet simple dans lequel tu crées une table style CLIENT avec Nom - Prénom etc...

Tu décris la connexion à ta base de donnée directement depuis l'analyse. Comme cela, tu pourras voir ta table MySQL avec WDmap ou par HCOnnexion')

Tu places un HcréationSiInexistant(CLIENT) dans ton code de projet ce qui va créer ta table dans MySQL.

Et voila...

Bonjour,
il est indiqué dans les spécifications que l'accès natif ne fonctionne
qu'avec la version 3.23.x ou 4 de mysql.

--
Cordialement
Chris
Posté le 15 novembre 2005 - 19:15
Cet accès natif est compatible avec les couches clients de MySQL (fichier LibMySQL.DLL) Version 3.23x à 5.0.2.

Pris sur le site pcsoft.