このページの翻訳:
- 日本語 (ja)
- English (en)
最近の更新
- 03 Zed editor 設定 [Windowsでビルド]
- 09 ↷ 50_dialy:2025:09:09 から 50_dialy:2025:09:08 へページを名称変更しました。
- 06 ↷ 50_dialy:2025:06 から 50_dialy:2025:09:06 へページを移動しました。
最近の更新
大きなテーブルに対してALTER TABLEをかけると、数時間かかってしまったりします。
そこで進捗状況が分かれば助かる。
Handler_writeが更新件数なので、ALTER TABLEをかけたテーブルの件数が分かればだいたいの終了時間が想定できる。
alert_progress.sh
#!/bin/bash
while true
do
PRE=`mysql -uroot -pgmocl-mysql -e "SHOW GLOBAL STATUS LIKE 'Handler_write'" | grep Handler_write | awk '{print $2}'`
sleep 1
CUR=`mysql -uroot -pgmocl-mysql -e "SHOW GLOBAL STATUS LIKE 'Handler_write'" | grep Handler_write | awk '{print $2}'`
echo `expr $CUR - $PRE`
sleep 1
done
下記の例だと、テーブルに12万行あって
1秒間に、200000行処理しているので、およそ106分くらいで終わるという計算になる。
mysql> select count(id) from test_table;
+------------+
| count(id) |
+------------+
| 1273517123 |
+------------+
1 row in set (10 min 26.05 sec)
$ bash alert_progress.sh
200000
200000
200000
・
・
・