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 :

fichier de log mysql


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de jp_rennes
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mars 2006
    Messages : 72
    Par défaut fichier de log mysql
    J'ai activé les log dans mon my.cnf pour comprendre certaines lenteurs sur ma base de cinema (innodb). L'applicatif (en java + hibernate) utilise la techno des statements ou commandes préparées)

    Par exemple voici un extrait du log :
    /usr/sbin/mysqld, Version: 5.0.19-standard-log. started with:
    Tcp port: 0 Unix socket: (null)
    Time Id Command Argument
    060831 18:28:33 2 Connect toto@192.168.1.1 on cinema
    2 Query SET NAMES latin1
    2 Query SET character_set_results = NULL
    2 Query SHOW VARIABLES
    060831 18:28:34 2 Query SHOW COLLATION
    2 Query SET autocommit=1
    2 Query SET autocommit=1
    2 Query SET autocommit=1
    2 Quit
    3 Connect toto@192.168.1.1 on cinema
    3 Query SET NAMES latin1
    3 Query SET character_set_results = NULL
    3 Query SHOW VARIABLES
    3 Query SHOW COLLATION
    3 Query SET autocommit=1
    3 Query SET autocommit=1
    3 Query SET autocommit=1
    3 Query SET autocommit=1
    060831 18:28:35 3 Prepare [1]
    3 Execute [1] select film.* from Film film, Programmation prog, NouveauteSemaine1 nouv where film.idFilm = nouv.idFilm and film.idProjection = prog.idProjection and (prog.dateProgrammation >= (select date from HistoriqueProgrammation1)) group by film.idFilm order by film.poids DESC limit 3
    3 Query SET autocommit=1
    3 Query SET autocommit=1
    3 Prepare [2]
    3 Execute [2] select listemedia0_.idFilm as idFilm0_, listemedia0_.type as type0_, listemedia0_.url as url0_ from Media listemedia0_ where listemedia0_.idFilm=109651

    Questions :
    1) Est-ce normal qu'il y ait autant de auto_commit ? est-ce normal qu'il y en ai si on ne fait que de la lecture sur cette base( les mises à jours se font de nuit)
    2) à quoi correspond les chiffres entre crochets
    3) que signifie le prepare ?
    je ne pense pas que se soit un prepare statement ... quand j'en ai fait un à la main et que je l'exécute, ça donne ceci
    060831 18:34:31 4 Query prepare nono from 'select salle.* from Salle salle where salle.IG = ?'
    060831 18:35:43 4 Query set @a='I#pLAAE00000'
    060831 18:36:17 4 Query execute nono using @a
    060831 18:41:22 4 Query deallocate prepare nono

    Merci par avance

  2. #2
    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 jp_rennes
    1) Est-ce normal qu'il y ait autant de auto_commit ? est-ce normal qu'il y en ai si on ne fait que de la lecture sur cette base( les mises à jours se font de nuit)
    Apparemment c'est une caractéristique d'hibernate : http://forum.springframework.org/sho...ysql+hibernate

    Citation Envoyé par jp_rennes
    2) à quoi correspond les chiffres entre crochets
    Au numéro du prepared statement...

    Citation Envoyé par jp_rennes
    3) que signifie le prepare ?
    Il correspond à l'étape de préparation de la requête.

    Citation Envoyé par jp_rennes
    je ne pense pas que se soit un prepare statement ... quand j'en ai fait un à la main et que je l'exécute, ça donne ceci
    060831 18:34:31 4 Query prepare nono from 'select salle.* from Salle salle where salle.IG = ?'
    060831 18:35:43 4 Query set @a='I#pLAAE00000'
    060831 18:36:17 4 Query execute nono using @a
    060831 18:41:22 4 Query deallocate prepare nono
    Il doit y avoir une différence entre les commandes SQL PREPARE, EXECUTE... et les fonctions de prepared statements intégrées au protocole client/serveur de MySQL.

  3. #3
    Membre éclairé Avatar de jp_rennes
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mars 2006
    Messages : 72
    Par défaut
    merci beaucoup... ça m'a fait avancer.
    Il me reste quelques questions

    extrait de mon fichier le log
    3 Prepare [32]
    3 Execute [32] select listereali0_.idFilm as idFilm1_, listereali0_.idRealisateur as idRealis2_1_, realisateu1_.idRealisateur as idRealis1_6_0_, realisateu1_.nom as nom6_0_, realisateu1_.url as url6_0_ from RealisePar listereali0_ left outer join Realisateur realisateu1_ on listereali0_.idRealisateur=realisateu1_.idRealisateur where listereali0_.idFilm=109000
    3 Query SET autocommit=1
    3 Query SET autocommit=1
    3 Prepare [33]
    3 Execute [33] select listeacteu0_.idFilm as idFilm1_, listeacteu0_.idActeur as idActeur1_, acteurimpl1_.idActeur as idActeur0_0_, acteurimpl1_.nom as nom0_0_, acteurimpl1_.url as url0_0_ from JoueDans listeacteu0_ left outer join Acteur acteurimpl1_ on listeacteu0_.idActeur=acteurimpl1_.idActeur where listeacteu0_.idFilm=109000
    3 Query SET autocommit=1
    3 Query SET autocommit=1
    3 Prepare [34]
    3 Execute [34] select listemedia0_.idFilm as idFilm0_, listemedia0_.type as type0_, listemedia0_.url as url0_ from Media listemedia0_ where listemedia0_.idFilm=36287
    3 Query SET autocommit=1
    3 Query SET autocommit=1
    3 Prepare [35]
    3 Execute [35] select listereali0_.idFilm as idFilm1_, listereali0_.idRealisateur as idRealis2_1_, realisateu1_.idRealisateur as idRealis1_6_0_, realisateu1_.nom as nom6_0_, realisateu1_.url as url6_0_ from RealisePar listereali0_ left outer join Realisateur realisateu1_ on listereali0_.idRealisateur=realisateu1_.idRealisateur where listereali0_.idFilm=36287

    questions :
    1) 3 Prepare [35] : Est-il possible de connaître la requête précise de création du statement (par exemple prepare stmt_name from 'select listereali0_.idFilm as idFilm1_, listereali0_.idRealisateur as idRealis2_1_, realisateu1_.idRealisateur as idRealis1_6_0_, realisateu1_.nom as nom6_0_, realisateu1_.url as url6_0_ from RealisePar listereali0_ left outer join Realisateur realisateu1_ on listereali0_.idRealisateur=realisateu1_.idRealisateur where listereali0_.idFilm=?' )
    2) Ce qui me semble bizzare c'est que le [32] et [35] semblent identiques sauf pour le dernier champ de la requête( listereali0_.idFilm)
    Pourquoi recréer un statement [35] plutôt que de rétuliser le [32]

  4. #4
    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
    1) On dirait bien que non.
    2) Je ne sais pas, c'est sûrement Hibernate qui se fait ses petites bidouilles

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/05/2010, 18h08
  2. [mySQL 5] - Fichier de logs
    Par M1000 dans le forum MySQL
    Réponses: 5
    Dernier message: 13/03/2009, 13h59
  3. [EasyPHP] fichier log MySQL
    Par calinerotte dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 04/07/2006, 18h09
  4. [Tomcat] Fichier de logs
    Par yolepro dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 22/03/2004, 16h20
  5. Fichiers de Log
    Par Mouse dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 10/05/2003, 18h06

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