Mysql – When MySQL table gets too large

MySQL

I have a really large MySQL table counting more than 12 billion rows at the moment (table scheme: InnoDB). From time to time the problems get more and more. The biggest problem is that altering the table takes a really long time (more than 48h) and every minute downtime is one minute too much. So whenever I need to add a new index or add a new column, the problem with the altering is there.

Are 12 billion rows too much for MySQL to handle? What would you suggest to do?

Best Answer

48 hours ALTER to a 12 billion rows table is not out of the ordinary in InnoDB.

You could:

  1. Use Percona online schema change \ Facebook php online schema change tools to ALTER the table online.
  2. Switch to TokuDB engine which does these alters online and also improves performance when scaling up from InnoDB.

Both solutions are free.