Ce face PS_CURRENT_THREAD_ID()
Performance Schema (baza performance_schema) adună statistici despre ce face serverul. Acolo, fiecare conexiune este identificată prin coloana THREAD_ID, care nu este același număr cu CONNECTION_ID().
PS_CURRENT_THREAD_ID() dă direct acest THREAD_ID pentru conexiunea curentă, așa că poți filtra tabelele din Performance Schema după propria sesiune. Este echivalentul scurt pentru PS_THREAD_ID(CONNECTION_ID()).
Ce returnează
Un număr BIGINT UNSIGNED.
Exemple
Exemplul 1: ID-ul firului curent
SELECT PS_CURRENT_THREAD_ID(), CONNECTION_ID();
Rezultat posibil (diferă la fiecare rulare)
+------------------------+-----------------+
| PS_CURRENT_THREAD_ID() | CONNECTION_ID() |
+------------------------+-----------------+
| 52 | 11 |
+------------------------+-----------------+
Exemplul 2: Același rezultat ca PS_THREAD_ID(CONNECTION_ID())
SELECT PS_CURRENT_THREAD_ID() = PS_THREAD_ID(CONNECTION_ID()) AS egale;
Rezultat
+-------+
| egale |
+-------+
| 1 |
+-------+
Exemplul 3: Informații despre propriul fir
SELECT NAME, TYPE, PROCESSLIST_USER
FROM performance_schema.threads
WHERE THREAD_ID = PS_CURRENT_THREAD_ID();
Rezultat
+---------------------------+------------+------------------+
| NAME | TYPE | PROCESSLIST_USER |
+---------------------------+------------+------------------+
| thread/sql/one_connection | FOREGROUND | root |
+---------------------------+------------+------------------+
Greșeli frecvente
- Filtrezi tabelele din Performance Schema după
THREAD_ID = CONNECTION_ID(). Cele două numere sunt diferite; foloseștePS_CURRENT_THREAD_ID().
Comenzi înrudite
PS_THREAD_ID(): Transformă ID-ul unei conexiuni în ID-ul firului ei din Performance Schema.CONNECTION_ID(): Returnează numărul unic al conexiunii curente (ID-ul din SHOW PROCESSLIST).FORMAT_PICO_TIME(): Transformă un timp în picosecunde într-un text ușor de citit: 3.50 ns, 250.00 ms, 3.15 min.