Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Installation
Installation Forum d'entraide sur les problèmes liés à l'installation de 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 21/08/2006, 09h45   #1
Membre régulier
 
Inscription : juin 2005
Messages : 260
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 260
Points : 92
Points : 92
Par défaut Problème avec temps d'execution

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.
RR instinct est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2006, 09h59   #2
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
Salut,

L'option LOCAL de la commande LOAD DATA te permet de charger un fichier qui se trouve côté client : http://dev.mysql.com/doc/refman/5.0/en/load-data.html

Citation:
Envoyé par RR instinct
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 ?
Ca le fait avec toutes les requêtes ?
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2006, 10h13   #3
Membre régulier
 
Inscription : juin 2005
Messages : 260
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 260
Points : 92
Points : 92
Ouah je suis passé à côté de ce local ! (en même temps moi et l'anglais ca fait au moins 6 )

Merci beaucoup.

Et pour les requêtes, ca le fait effectivement pour toute j'ai l'impression, je vais faire des tests complémentaires pour avoir plus de précisions.

Merci en tout cas
RR instinct est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2006, 10h53   #4
Membre régulier
 
Inscription : juin 2005
Messages : 260
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 260
Points : 92
Points : 92
J'ai essayé d'utiliser l'option LOCAL mais j'ai un problème d'accès.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Unexpected Exception: java.security.AccessControlException message given: access denied (java.io.FilePermission c:\jour.txt READ)
 
Nested Stack Trace:
 
** BEGIN NESTED EXCEPTION ** 
 
java.security.AccessControlException
MESSAGE: access denied (java.io.FilePermission c:\jour.txt READ)
 
STACKTRACE:
 
java.security.AccessControlException: access denied (java.io.FilePermission c:\jour.txt READ)
	at java.security.AccessControlContext.checkPermission(Unknown Source)
	at java.security.AccessController.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkRead(Unknown Source)
	at java.io.FileInputStream.<init>(Unknown Source)
	at java.io.FileInputStream.<init>(Unknown Source)
	at com.mysql.jdbc.MysqlIO.sendFileToServer(MysqlIO.java:2691)
	at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate(MysqlIO.java:1897)
	at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:1347)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1667)
	at com.mysql.jdbc.Connection.execSQL(Connection.java:2379)
	at com.mysql.jdbc.Connection.execSQL(Connection.java:2306)
	at com.mysql.jdbc.Statement.executeQuery(Statement.java:1192)
	at transpo.DATA.BddTransport.load_jour(BddTransport.java:3451)
	at transpo.system.jsmartcard.CardDriverData.stocker_activite_tableactivite(CardDriverData.java:968)
	at transpo.system.jsmartcard.CardDriverData$1.run(CardDriverData.java:730)
 
 
** END NESTED EXCEPTION **
Pourtant mon jar est bien signé et j'ai bien la demande d'autorisation au lancement d'accès.

Auriez vous une idée du problème ? (je vais peut être demandé sur le forum java mais si vous avez une idée... )
RR instinct est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2006, 14h58   #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
L'utilisateur qui exécute le programme Java a les droits sur c:\jour.txt ?
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2006, 16h32   #6
Membre régulier
 
Inscription : juin 2005
Messages : 260
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 260
Points : 92
Points : 92
Oui mais j'ai trouvé, vu que c'etait le jar des drivers jdbc mysql qui tentais d'acceder au fichier et que lui je ne l'avais pas signé (je l'avais juste mis en extension) cela ne marchais pas.

En ce qui concerne les requêtes elle sont toute plus ou moins longues, selon la nombre de ligne retournées par celle ci, c'est donc bien à cause de le BP non ?
RR instinct est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2006, 18h31   #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
Si, comme tu le dis, on passe systématiquement de quelques dizièmes de secondes en local à plusieurs secondes en distant, certainement oui.
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2006, 09h13   #8
Membre régulier
 
Inscription : juin 2005
Messages : 260
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 260
Points : 92
Points : 92
OK j'essaierai sur un réseau intranet pour voir ce que ca donne, merci pour ton aide.

A bientôt
RR instinct est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h40.


 
 
 
 
Partenaires

Hébergement Web