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

Installation MySQL Discussion :

Problème avec temps d'execution


Sujet :

Installation MySQL

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 260
    Points : 131
    Points
    131
    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.

  2. #2
    Membre émérite 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
    Points : 2 973
    Points
    2 973
    Par défaut
    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 ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 260
    Points : 131
    Points
    131
    Par défaut
    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

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 260
    Points : 131
    Points
    131
    Par défaut
    J'ai essayé d'utiliser l'option LOCAL mais j'ai un problème d'accès.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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... )

  5. #5
    Membre émérite 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
    Points : 2 973
    Points
    2 973
    Par défaut
    L'utilisateur qui exécute le programme Java a les droits sur c:\jour.txt ?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 260
    Points : 131
    Points
    131
    Par défaut
    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 ?

  7. #7
    Membre émérite 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
    Points : 2 973
    Points
    2 973
    Par défaut
    Si, comme tu le dis, on passe systématiquement de quelques dizièmes de secondes en local à plusieurs secondes en distant, certainement oui.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 260
    Points : 131
    Points
    131
    Par défaut
    OK j'essaierai sur un réseau intranet pour voir ce que ca donne, merci pour ton aide.

    A bientôt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec plan d'execution
    Par bibi92 dans le forum SQL
    Réponses: 4
    Dernier message: 18/09/2008, 10h09
  2. Problème avec un jar executable
    Par haludo dans le forum NetBeans
    Réponses: 5
    Dernier message: 23/10/2006, 12h01
  3. Problème avec un jar executable
    Par haludo dans le forum NetBeans
    Réponses: 5
    Dernier message: 12/10/2006, 19h51
  4. limit et temps d'execution avec oracle et PHP
    Par dor_boucle dans le forum Oracle
    Réponses: 20
    Dernier message: 10/12/2005, 14h31
  5. Problème avec le programme executable
    Par GreyDragon dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 01/10/2005, 13h43

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