If you use Heidi to copy a large table to another database, using the "Export database as SQL" option, you can see the various SQL calls it makes - including the ones that split the table into chunks - ie ending ...LIMIT X ...LIMIT 2X, X ...LIMIT 3X, X ...etc but I cannot for the life of me figure out how it calculates the value of X. I presume it must be some combination of table size and/or average row size and/or max_packet size (maybe), but I can't see from the SQL calls logged, how the information there is used to obtain the value for X that is shown.
Of course there's no obligation to answer this, but I am intrigued by this...