概要
performance_
今回はこれらの関数について紹介します。なお、
format_bytes()
format_1023
を与えた場合は1023 bytes
という文字列が表示され、536870912
を与えると512.
が表示されるように、
実際にいくつか数値を投げて確認してみます。
mysql> SELECT FORMAT_BYTES(1023), FORMAT_BYTES(536870912), FORMAT_BYTES(47193858765) ; +--------------------+-------------------------+---------------------------+ | FORMAT_BYTES(1023) | FORMAT_BYTES(536870912) | FORMAT_BYTES(47193858765) | +--------------------+-------------------------+---------------------------+ | 1023 bytes | 512.00 MiB | 43.95 GiB | +--------------------+-------------------------+---------------------------+ 1 row in set (0.00 sec)
それぞれの引数に対して、
これはファイルサイズや、
mysql> SELECT NAME,FILE_SIZE,FORMAT_BYTES(FILE_SIZE), ALLOCATED_SIZE, FORMAT_BYTES(ALLOCATED_SIZE) FROM information_schema.innodb_tablespaces WHERE NAME = 'd1/dummy'; +----------+-----------+-------------------------+----------------+------------------------------+ | NAME | FILE_SIZE | FORMAT_BYTES(FILE_SIZE) | ALLOCATED_SIZE | FORMAT_BYTES(ALLOCATED_SIZE) | +----------+-----------+-------------------------+----------------+------------------------------+ | d1/dummy | 9437184 | 9.00 MiB | 9437184 | 9.00 MiB | +----------+-----------+-------------------------+----------------+------------------------------+ 1 row in set (0.00 sec) $ ll -h /data/sample_mysql/d1/dummy.ibd -rw-r----- 1 mysql mysql 9.0M Apr 30 2020 /data/sample_mysql/d1/dummy.ibd
単位が変換されて確認することができました。
これはテーブルサイズだけでなく、
- ※)
- 単位の変換は10の3乗ごと
(キロ、 メガ、 テラ) ではなく、 1024のn乗ごと (キビ、 メビ、 テビ) であるのに注意してください。
sys.format_bytes()との違い
8.
ただし公式ドキュメントにもあるように、
format_pico_time()
format_3
を与えた場合は3 ps
と表示されますが、300000000000000
を与えると5.
例として、
mysql> SELECT DIGEST_TEXT, COUNT_STAR, SUM_ROWS_SENT, SUM_ROWS_EXAMINED, FIRST_SEEN, FORMAT_PICO_TIME(QUERY_SAMPLE_TIMER_WAIT) FROM performance_schema.events_statements_summary_by_digest where DIGEST_TEXT like '%dummy%'\G *************************** 1. row *************************** DIGEST_TEXT: ANALYZE TABLE `d1` . `dummy` COUNT_STAR: 1 SUM_ROWS_SENT: 0 SUM_ROWS_EXAMINED: 0 FIRST_SEEN: 2022-02-20 20:36:39.163430 FORMAT_PICO_TIME(QUERY_SAMPLE_TIMER_WAIT): 10.06 s
ピコ秒で表示されるデータがs
sys.format_time()との違い
sysスキーマにはformat_
また、
分の表示
組み込み関数format_
mysql> SELECT format_pico_time(300000000000000), sys.format_time(300000000000000); +-----------------------------------+----------------------------------+ | format_pico_time(300000000000000) | sys.format_time(300000000000000) | +-----------------------------------+----------------------------------+ | 5.00 min | 5 m | +-----------------------------------+----------------------------------+ 1 row in set (0.01 sec)
w(week)の削除
組み込み関数format_
mysql> SELECT format_pico_time(724800000000000000), sys.format_time(724800000000000000); +--------------------------------------+-------------------------------------+ | format_pico_time(724800000000000000) | sys.format_time(724800000000000000) | +--------------------------------------+-------------------------------------+ | 8.39 d | 1.2 w | +--------------------------------------+-------------------------------------+ 1 row in set (0.00 sec)
その他のPerformance_schema関数
WL#13439にもあるように、
これもsysのps_
mysql> SELECT ps_thread_id(null), sys.ps_thread_id(null); +--------------------+------------------------+ | ps_thread_id(null) | sys.ps_thread_id(null) | +--------------------+------------------------+ | NULL | 65 | +--------------------+------------------------+ 1 row in set (0.00 sec)
ただし、
まとめ
今回はPerformance_