I've a huge InnoDB table customer_users_old (150G) that it's not in use anymore in the database, it was renamed from customer_users.

My setup has a Master-Slave replication of MySQL 5.5 with innodb_file_per_table activated, so the table has it's own files. As the DROP command takes a lot of time, I'm afraid it can have some inpact on the prodcution database.

So I'm thinking on disaling unique and foreign key checks for the session as it was suggested on DROP TABLE on a huge InnoDB table:


And disabling the binary log to drop the table first on the master and then on the slave as it was suggested on Deleting data from a large table with replication:

SET sql_log_bin = 0;

Will this speedup the process and minimize the impact on the servers load?

| improve this question | | | | |
  • 1
    I hope you had innodb_file_per_table was ON when you created it. Else the disk space would not be released to the OS. – Rick James May 3 '17 at 14:59
  • @RickJames it's innodb_file_per_table is ON I forgot to put it, I've updated the question to clarify that. – pconcepcion May 3 '17 at 15:17

In the end we realized that the process was so slow because we did try to do the DROP while the mysqldump backup was running and the table was blocked by the backup process.

After the backup process had finished the DROP was quite fast and took only some minutes and did not have a big inpact on the server performance.

| improve this answer | | | | |

Your Answer

