Saya tahu ini adalah pertanyaan lama, tetapi saya sedang mencari jawaban serupa, ketika mencoba mencari tahu berapa lama lagi pembaruan saya akan mengambil kueri 250m baris.
Jika Anda menjalankan:
SHOW ENGINE INNODB STATUS \G
Kemudian di bawah TRANSAKSI temukan transaksi yang dimaksud, periksa bagian ini:
---TRANSACTION 34282360, ACTIVE 71195 sec starting index read
mysql tables in use 2, locked 2
1985355 lock struct(s), heap size 203333840, 255691088 row lock(s), undo log entries 21355084
Bit penting adalah "membatalkan entri log". Untuk setiap baris yang diperbarui, dalam kasus saya sepertinya menambahkan entri log undo (coba jalankan lagi setelah beberapa detik dan lihat berapa banyak yang telah ditambahkan).
Jika Anda melompat ke akhir laporan status, Anda akan melihat ini:
Number of rows inserted 606188224, updated 251615579, deleted 1667, read 54873415652
0.00 inserts/s, 1595.44 updates/s, 0.00 deletes/s, 3190.88 reads/s
Di sini kita dapat melihat bahwa kecepatan pembaruan yang diterapkan adalah 1595,44 baris per detik (walaupun jika Anda menjalankan kueri pembaruan lainnya secara bersamaan, maka kecepatan ini mungkin dipisahkan antara kueri Anda).
Jadi dari sini, saya tahu 21m telah diperbarui dengan (250m-21m) tersisa 229m baris.
229.000.000 / 1600 =143.125 detik lagi (143.125 / 60) / 60 =39,76 jam lagi
Jadi sepertinya saya bisa memutar-mutar ibu jari saya selama beberapa hari lagi. Kecuali jika jawaban ini salah, dalam hal ini saya akan memperbaruinya sebelum itu!