SHOW ENGINE

Stai visualizzando una vecchia versione di questo article. Visualizza la versione più recente.

Sintassi

SHOW ENGINE nome_engine {STATUS | MUTEX}

Spiegazione

SHOW ENGINE restituisce informazioni operative su uno Storage Engine. Le seguenti istruzioni sono attualmente supportate:

SHOW ENGINE INNODB STATUS
SHOW ENGINE INNODB MUTEX

Sinonimi più vecchi (ora deprecati) sono SHOW INNODB STATUS, al posto di SHOW ENGINE INNODB STATUS, e SHOW MUTEX STATUS al posto di SHOW ENGINE INNODB MUTEX.

In MySQL 5.0, SHOW ENGINE INNODB MUTEX si invoca con SHOW MUTEX STATUS. Quest'ultima istruzione elenca informazioni simili ma il formato dell'output è leggermente diverso.

SHOW ENGINE BDB LOGS precedentemente mostrava informazioni sui file di log di BDB. A partire da MySQL 5.1.12, lo Storage Engine BDB non è più supportato, e l'istruzione produce un warning.

SHOW ENGINE INNODB STATUS mostra informazioni approfondite dal monitor standard di InnoDB, che riguardano lo stato dello Storage Engine InnoDB. Per ulteriori informazioni sul monitor standard InnoDB e sugli altri monitor che forniscono informazioni sulle attività di InnoDB, si veda la pagina http://dev.mysql.com/doc/refman/5.1/en/innodb-monitors.html.

SHOW ENGINE INNODB MUTEX mostra statistiche sui mutex di InnoDB.

A partire da MySQL 5.1.2 a 5.1.14, l'istruzione mostra i seguenti campi:

  • Type: Sempre InnoDB.
  • Name: Il nome del mutex e il file sorgente dove è implementato. Esempio: '&pool->mutex:mem0pool.c' Il nome del mutex indica il suo ambito. Per esempio, il mutex log_sys è usato dal sottosistema di log di InnoDB e indica quanto è intensa la sua attività. Il mutex buf_pool protegge il buffer pool di InnoDB.
  • Status: Lo stato del mutex. Il campo contiene diversi valori:
    • count indica quante volte il mutex è stato richiesto.
    • spin_waits indica quante volte è stato eseguito lo spinlock.
    • spin_rounds indica il numero di round dello spinlock. (spin_rounds diviso per spin_waits fornisce la media dei round)
    • os_waits indica il numero di attese del sistema operativo. Queste si verificano quando lo spinlock non ha funzionato (il mutex non è stato bloccato durante lo spinlock e si è reso necessario lasciare in attesa il sistema operativo)
    • os_yields indica quante volte il thread, cercando di bloccare un mutex, ha rilasciato la sua timeslice e ha atteso il sistema operativo (nella speranza che permettere l'esecuzione di altri thread liberi il mutex e permetta di bloccarlo)
    • os_wait_times, se la variabile di sistema timed_mutexes system vale 1 (ON), indica l'ammontare di tempo (in millisecondi) trascorso durante le attese del sistema operativo; se timed_mutexes vale 0 (OFF), il timing è disabilitato, perchiò os_wait_times è 0. timed_mutexes è OFF per default.

In MariaDB, e a partire da MySQL 5.1.15, l'istruzione mostra i seguenti campi:

  • Type: Sempre InnoDB.
  • Name: Il file sorgente dove il mutex è implentato e il corrispondente numero di riga. Questo numero di riga può variare a seconda della versione di MySQL.
  • Status: This field displays the same values as previously described (count, spin_waits, spin_rounds, os_waits, os_yields, os_wait_times), but only if UNIV_DEBUG was defined at MySQL compilation time (for example, in include/univ.h in the InnoDB part of the MySQL source tree). If UNIV_DEBUG was not defined, the statement displays only the os_waits value. In the latter case (without UNIV_DEBUG), the information on which the output is based is insufficient to distinguish regular mutexes and mutexes that protect rw-locks (which allow multiple readers or a single writer). Consequently, the output may appear to contain multiple rows for the same mutex.

Le istruzioni restituite da questa istruzione possono essere utilizzate per diagnosticare i problemi del sistema. Per esempio, valori grandi per spin_waits e spin_rounds possono indicare problemi di scalabilità.

Commenti

Sto caricando i commenti......
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.