Bonjour,
J'ai récuperer un programme non terminé (que je doit finir bien sur) qui utilise une base de données mysql, et j'ai quelques questions sur ce qui a été fait.
Comme le logiciel sera utilisable sur internet (via java web start donc en java), j'aurai donc des requetes à passer au serveur de la base de données, par contre le logiciel sera sur le pc client (puisqu'il sera telechargé via java web start et executé par la jvm).
J'ai déjà mis en place cette solution mais je rencontre plusieurs problèmes...
Le premier est que, dans le logiciel que je reprend, certaines insertions en base se font par l'intermediaire de fichier .txt, avec la commande mysql "load in file". Cette commande permet de réduire le temps d'execution (enfin je pense) puisqu'il peut y avoir des insertions de plusieurs centaines de lignes qui sont stockées dans ce fichier.
Seulement, cette solution ne marche, pour le moment, pas avec un deploiement internet. En effet, le fichier est stocké sur la machine où est executé le logiciel (donc la machine cliente) et la commande load in file est executé sur le serveur Mysql (donc il ne trouve donc pas le fichier qui se trouve logiquement sur une autre machine).
La seule possibilité que je vois, est de me debrouiller pour que ce fichier soit enregistré sur le serveur WEB et non pas sur le pc client mais je ne sais pas s'il est possible de créer des fichiers sur un serveur WEB (il faut des autorisations ?).
Sinon, suis je obligé de transformer mon fichier texte en une (longue) série de réquêtes pour insérer chaques lignes une à une ? Ce qui pourrait devenir catastrophique pour le temps d'execution pour la raison qui est mon second problème :
Le second est que le temps d'execution des requêtes est assez long... en effet, il me faut 4 à 5 secondes pour une requête qui prend a peine quelques dixième de secondes en local... Est-ce du au fait que le serveur mysql n'est pas installé sur une machine dotée d'une connexion internet ultra performante (environ 1mo en upload de BP), ou bien y'a-t-il une autre raison ?
Voici mes deux principaux problèmes donc si quelqu'un pourrait me donner des précisions, elles seraient les bienvenues...
Merci d'avance.
Partager