1

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:

SET FOREIGN_KEY_CHECKS=0;
SET UNIQUE_CHECKS=0;

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?

2
  • 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, 2017 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. May 3, 2017 at 15:17

2 Answers 2

0

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.

0

This article aptly explains why there's performance impact or slow mysql drop table and walks through the possible options to improve the table drop speed.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.