Det är bara en sak du saknar. Särskilt, om du använder InnoDB, vill du uttryckligen lägga till en ORDER BY-sats i din SELECT-sats för att säkerställa att du infogar rader i primärnyckelordning (klustrade index):
INSERT INTO product_backup SELECT * FROM product ORDER BY product_id
Överväg att ta bort sekundära index på säkerhetskopieringstabellen om de inte behövs. Detta kommer också att spara en del belastning på servern.
Slutligen, om du använder InnoDB, minska antalet radlås som krävs och bara explicit lås båda tabellerna:
LOCK TABLES product_backup WRITE;
LOCK TABLES product READ;
INSERT INTO product_backup SELECT * FROM product ORDER BY product_id;
UNLOCK TABLES;
Låsningsgrejerna kommer förmodligen inte att göra någon stor skillnad, eftersom radlåsning går väldigt snabbt (men inte lika snabbt som bordslås), men eftersom du frågade.