PS_CURRENT_THREAD_ID() în MySQL

Returnează ID-ul din Performance Schema al firului (thread) conexiunii curente.

Sintaxă
PS_CURRENT_THREAD_ID()

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ște PS_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.