Bonjour,
Mysql permets notamment d'obtenir le nombre total de requêtes effectuées sur le serveur. Mais je voulais savoir s'il y avait moyen d'obtenir le nombre de requêtes sur les différentes tables d'une base?
Merci.
Bonjour,
Mysql permets notamment d'obtenir le nombre total de requêtes effectuées sur le serveur. Mais je voulais savoir s'il y avait moyen d'obtenir le nombre de requêtes sur les différentes tables d'une base?
Merci.
Bonjour,
Il suffit d'activer le log de requêtes et de l'analyser pour en tirer des stats sur chaque table.
Pensez au bouton
"Il suffit" c'est vite dit Ca fait un sacré travail. Mais contrairement aux stat internes de mysql qui permettent d'obtenir le nombre total de requêtes effectuées sur le serveur, on ne peut pas avoir ces stats table par table.Envoyé par Maximilian
Parcourir le fichier et compter les occurrences de chaque table, c'est quelques lignes dans n'importe quel langage.Envoyé par Alexandre T
Bon c'est sûr que si on veut des stats sur la durée et tout c'est un peu plus complexe
Pensez au bouton
Merci pour vos réponses... En gros si j'ai bien compris, ce que je voudrais n'est pas possible, dans la mesure où je cherche à avoir le nombre de requete table par table, sans rien n'avoir activé de spécial et en travaillant sur des serveurs qui sont déjà en production...
Ben c'est faisable au niveau applicatif aussi, si les requêtes sont faites à travers une appli.
Sinon sous MySQL 5.0 tu peux utiliser des triggers, mais ils ne se déclencheront que sur les requêtes en écriture (pas SELECT) et c'est assez lourd tant au niveau de la mise en place que des performances.
Pensez au bouton
J'ai essayé d'activer le log des requêtes avec la commande mysqld. Mais il y a un truc que je ne comprend pas bien:
Qulle est la différence entre les commandes mysql et mysqld?
Faut-il lancer les 2 pour activer le log des requêtes?
Faut-il relancer mysql après avoir lancer mysqld?
Merci
mysqld est le serveur
mysql est la console cliente.
Il faut redémarrer mysqld après changement du paramétrage du log.
mysql est alors déconnecté mais il tente une reconnexion automatique par défaut.
Encore une petite question:
est-ce que si je lance la commande suivante: mysqld --log=../logs/querylog.log
cela va relancer automatiquement le serveur mysql?
merci
Je dirais non si le serveur est relancé sans changer les paramètres de configuration. Par exemple, peut-on imaginer 2 appli écoutant le même port ? Pour être sur, il faudrait vérifier dans le log d'erreur.
Pensez au tag
Non, ça va tenter de relancer une nouvelle instance du serveur. Mais si ça te dérange de rebooter le serveur, je crois qu'on peut modifier ces options "à chaud".Envoyé par nicoaix
Effectivement ça me dérange de rebooter le serveur étant donné que celui-ci est en production avec environ 100 000 connexion/jour attendues... Je préfère donc ne pas avoir les logs des requetes plutot que de faire planter le serveur.
Tant que j'y suis...l'activation du log des requêtes a quel impact sur la vitesse de fonctionnement du serveur (apache et mysql)?
L'impact est très lourd sur le "logiciel" MySQL. Aucun impact sur le "logiciel" Apache si chacun sont sur un serveur différent, sinon apache est impacté par les ressources supplémentaires que va consommer MySQL.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager