InnoDB टेबलस्पेस का फ़ाइल आकार कभी भी अपने आप कम नहीं होगा, चाहे आप कितना भी डेटा हटा दें।
आप क्या कर सकते हैं, हालांकि यह बहुत प्रयास है, हर टेबल के लिए एक टेबल स्पेस बनाने के लिए सेटिंग करके
innodb_file_per_table
इसके बारे में लंबा हिस्सा यह है कि आपको MySQL सर्वर से सभी डेटा निर्यात करने की आवश्यकता है (एक नया सर्वर स्थापित करना आसान होगा) और फिर डेटा को दोबारा आयात करें। प्रत्येक तालिका के लिए डेटा रखने वाली एक एकल ibdata1 फ़ाइल के बजाय, आपको tablename.ibd
नामक ढेर सारी फ़ाइलें मिलेंगी। जो केवल एक ही टेबल के लिए डेटा रखता है।
बाद में:
जब आप तालिकाओं से बहुत सारा डेटा हटाते हैं, तो आप mysql को जारी करके डेटा-फ़ाइल को फिर से बनाने दे सकते हैं
alter table <tablename> engine=myisam;
MyIsam पर स्विच करने के लिए (और इस तालिका के लिए InnoDB डेटा फ़ाइल हटा दी गई है) और फिर
alter table <tablename> engine=innodb;
तालिका को फिर से बनाने के लिए।