足りないものが1つだけあります。特に、InnoDBを使用している場合、SELECTステートメントにORDER BY句を明示的に追加して、行を主キー(クラスター化インデックス)の順序で挿入していることを確認しますか?
INSERT INTO product_backup SELECT * FROM product ORDER BY product_id
不要な場合は、バックアップテーブルのセカンダリインデックスを削除することを検討してください。これにより、サーバーの負荷も軽減されます。
最後に、InnoDBを使用している場合は、必要な行ロックの数を減らし、両方のテーブルを明示的にロックするだけです。
LOCK TABLES product_backup WRITE;
LOCK TABLES product READ;
INSERT INTO product_backup SELECT * FROM product ORDER BY product_id;
UNLOCK TABLES;
行のロックは非常に高速であるため(テーブルのロックほど高速ではありませんが)、ロックに関するものはおそらく大きな違いにはなりませんが、あなたが尋ねたので。