FORMAT_PICO_TIME() în MySQL

Transformă un timp în picosecunde într-un text ușor de citit: 3.50 ns, 250.00 ms, 3.15 min.

Sintaxă
FORMAT_PICO_TIME(picosecunde)

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.