Hi, everyone,

I created two databases DB_A and DB_B whose tables were all in InnoDB. DB_A has data of approximately 500 G, DB_B has data of about 200G. Later I dropped the entire DB_B because it served only purpose of testing. I noticed that the size of the table files ibdata1 and ibdata2 didn't not change (ibdata2 is auto extended). Now ibdata1 is 2G and ibdata2 is 793 G. It said "InnoDB free: 201787392 kB" when I did "show table status". The server is dedicated to the MySQL server and the disk partition now has only 2G available. Since I will soon add another 5 G of data to DB_A, I am afraid that there won't be enough space. I would greatly appreciate if someone can answer some questions so I can have an idea of what kind of situation I am facing. My questions are:

1. I assume that the space of "InnoDB free: 201787392 kB" was resulted from the dropping of DB_B. Will this chunk be re-used when new data is inserted?

2. If the answer for Question 1 is no, I believe I unfortunately have to follow the instruction on http://dev.mysql.com/doc/mysql/en/Adding_and_removing.html to decrease the size the tablespace. Since I have a huge database, when I import the dump files, I am expecting to insert several billions of rows. Will each insertion into an InnoDB table be followed by an automatic commit? If yes, it will take probably weeks to import the data back. Is there a way to quickly import data back? The data includes blob, "Load data" from a text file won't work.

3. If I would do a replication now with an off-line backup, will the entire ibdata2 of 793 G be copied to the slave? Again will the free InnoDB table space be re-used on the slave?

   Thank you very much in advance for your help!

Regards,
Zhe


-- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]



Reply via email to