Само едно нещо ти липсва. Особено, ако използвате InnoDB, искате ли изрично да добавите клауза ORDER BY в израза си SELECT, за да сте сигурни, че вмъквате редове в ред на първичен ключ (клъстериран индекс):
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;
Заключването вероятно няма да има голяма разлика, тъй като заключването на редове е много бързо (макар и не толкова бързо, колкото заключването на таблица), но тъй като вие поискахте.