Mysql
 sql >> Database >  >> RDS >> Mysql

come ottenere il tempo di caricamento in millisecondi o microsecondi in mysql

Ho avuto lo stesso problema, ho eseguito le mie query da una console Linux utilizzando tempo

$ 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

o

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

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

Fornisce valori diversi da "mysql" ma almeno è qualcosa con cui puoi lavorare, ad esempio questo 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

Esegui la query 1000 volte, -f mostra solo il tempo reale, -o il file di output, -a aggiunge all'output, > /dev/null 2> /dev/null ignora l'output della query in modo che non venga stampato nella console ogni volta.