Mysql
 sql >> Base de données >  >> RDS >> Mysql

comment obtenir le temps de chargement en millisecondes ou microsecondes dans mysql

Je suis venu avec le même problème, j'ai fait mes requêtes depuis une console Linux en utilisant temps

$ time mysql --user="user" -D "DataBase" -e "SELECT SQL_NO_CACHE COUNT(1) FROM table"

 ------------
 count(1)
 ------------
 750
 ------------

 real 0m0.269s
 user 0m0.014s
 sys  0m0.015s

ou

$ time -f"%e" mysql --user="user" -D "DataBase" -e "SELECT SQL_NO_CACHE COUNT(1) FROM table"

------------
 count(1)
------------
 750
------------
 0.24

Il donne des valeurs différentes de "mysql" mais au moins c'est quelque chose avec lequel vous pouvez travailler, par exemple ce script :

#!/bin
temp = 1
while [ $temp -le 1000]
do
    /usr/bin/time -f"%e" -o"/home/admin/benchmark.txt" -a mysql --user="user" -D "DataBase" -e "SELECT SQL_NO_CACHE COUNT(1) FROM table"  > /dev/null 2> /dev/null
    let temp=$temp+1
done

Exécute la requête 1000 fois, -f affiche uniquement le temps réel, -o le fichier de sortie, -a ajoute à la sortie, > /dev/null 2> /dev/null ignore la sortie de la requête afin qu'elle ne s'imprime pas dans la console à chaque fois.