This should really be a community wiki page, but I have to ask this question and see what I might be missing. I’m a moderator on a site and they are going through a new site transition.
They started data migration yesterday around lunch. It’s still going on and they say it’s going to take 30 more hours. It’s a rather large site (700 million records going from SQL Server to MySQL) but I couldn’t fathom why it was taking so long.
I just found out that they’re indexing on the fly. Are there benefits to this? Would it not be quicker and probably safer to copy and then index? If anyone has links, I’ll most likely choose that as the answer. Thanks.
The typical procedure I know is to copy all the tables with disabled constraints and no indexes and recreate indexes from scratch afterwards and then enable the constraints. Rebuilding an index from scratch is much cheaper than creating it online during migration.
Googling a minute brought up this for you from the horse’s mouth 🙂 :
http://www.mysql.com/why-mysql/white-papers/mysql_microsoftsql2mysql_paper.pdf
see e.g. page 5:
I didn’t find a benchmark, but you could produce a very representative one yourself: Just migrate, say 1 million of your own records, using both strategies. The results should speak for themselves.
Here is a related question.