Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So erhalten Sie die Ladezeit in Millisekunden oder Mikrosekunden in MySQL

Ich hatte das gleiche Problem, ich habe meine Abfragen von einer Linux-Konsole mit Zeit

$ 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

oder

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

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

Es gibt andere Werte als "mysql" aus, aber zumindest können Sie damit arbeiten, zum Beispiel mit diesem Skript:

#!/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

Führen Sie die Abfrage 1000 Mal aus, -f zeigt nur die Echtzeit, -o die Ausgabedatei, -a an die Ausgabe angehängt, > /dev/null 2> /dev/null ignoriert die Abfrageausgabe, sodass sie nicht jedes Mal in der Konsole gedruckt wird.