Ce face FORMAT_PICO_TIME()
Performance Schema măsoară durata interogărilor în picosecunde (o picosecundă este a mia miliarda parte dintr-o milisecundă). FORMAT_PICO_TIME() transformă aceste numere uriașe în unități potrivite: ps, ns, us, ms, s, min, h și d.
1 secundă = 1012 picosecunde. Rezultatul are două zecimale, cu excepția valorilor sub o nanosecundă, afișate ca număr întreg.
Parametri
| Parametru | Descriere |
|---|---|
picosecunde |
Durata în picosecunde. |
Ce returnează
Un text cu valoarea și unitatea, sau NULL.
Exemple
Exemplul 1: Valori de diferite mărimi
SELECT FORMAT_PICO_TIME(500) AS ps, FORMAT_PICO_TIME(3501) AS ns,
FORMAT_PICO_TIME(250 * 1000000000) AS ms, FORMAT_PICO_TIME(188732396662000) AS minute;
Rezultat
+--------+---------+-----------+----------+
| ps | ns | ms | minute |
+--------+---------+-----------+----------+
| 500 ps | 3.50 ns | 250.00 ms | 3.15 min |
+--------+---------+-----------+----------+
Exemplul 2: Cele mai lente interogări
Tabelul de rezumat din Performance Schema păstrează timpul total pentru fiecare tip de interogare.
SELECT DIGEST_TEXT, COUNT_STAR AS rulari, FORMAT_PICO_TIME(SUM_TIMER_WAIT) AS timp_total
FROM performance_schema.events_statements_summary_by_digest
ORDER BY SUM_TIMER_WAIT DESC
LIMIT 2;
Rezultat în MySQL
+---------------------------------------------------------+--------+------------+
| DIGEST_TEXT | rulari | timp_total |
+---------------------------------------------------------+--------+------------+
| SELECT * FROM `comenzi` WHERE `client_id` = ? | 18342 | 4.21 min |
| UPDATE `produse` SET `stoc` = `stoc` - ? WHERE `id` = ? | 5120 | 38.75 s |
+---------------------------------------------------------+--------+------------+
Greșeli frecvente
- Împarți manual la 1000000000000 și pierzi unitatea potrivită.
FORMAT_PICO_TIME()alege singură unitatea.
Comenzi înrudite
FORMAT_BYTES(): Transformă un număr de octeți într-un text ușor de citit: 512 bytes, 1.50 KiB, 2.00 GiB.PS_CURRENT_THREAD_ID(): Returnează ID-ul din Performance Schema al firului (thread) conexiunii curente.STATEMENT_DIGEST_TEXT(): Returnează forma normalizată a unei instrucțiuni SQL: valorile devin ?, iar numele primesc ghilimele inverse.