sql >> Databáze >  >> RDS >> Mysql

jak získat čas načítání v milisekundách nebo mikrosekundách v mysql

Přišel jsem se stejným problémem, provedl jsem své dotazy z linuxové konzole pomocí čas

$ 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

nebo

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

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

Dává jiné hodnoty než "mysql", ale alespoň je to něco, s čím můžete pracovat, například tento 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

Proveďte dotaz 1000krát, -f zobrazuje pouze skutečný čas, -o výstupní soubor, -a připojí k výstupu, > /dev/null 2> /dev/null ignoruje výstup dotazu, takže se pokaždé nevytiskne v konzole.



  1. Nelze převést hodnotu data/času MySQL na System.DateTime

  2. SQL Server v.Next:Výkon STRING_AGG().

  3. Chyba SQL s řazením podle v poddotazu

  4. php mysqli_connect:metoda ověřování neznámá klientovi [caching_sha2_password]