MySQL innoDB獨立表空間和共享表空間的優點和缺點介紹

chenfeng發表於2016-08-25
獨立表空間的優點:
1.每個表都有自已獨立的表空間。
2.每個表的資料和索引都會存在自已的表空間中。
3.可以實現單表在不同的資料庫中移動。
4.空間可以回收(drop/truncate table方式操作表空間不能自動回收)
5.對於使用獨立表空間的表,不管怎麼刪除,表空間的碎片不會太嚴重的影響效能,而且還有機會處理。

缺點:
單表增加比共享空間方式更大。

共享表空間的優點:
1)可以放表空間分成多個檔案存放到各個磁碟上(表空間檔案大小不受表大小的限制,如一個表可以分佈在不同的檔案上)。
所以其大小限制不再是檔案大小的限制,而是其自身的限制。從Innodb的官方文件中可以看到,其表空間的最大限制為64TB,
也就是說,Innodb的單表限制基本上也在64TB左右了,當然這個大小是包括這個表的所有索引等其他相關資料。
2)表資料和表描述放在一起方便管理。 
缺點:
所有的資料和索引存放到一個檔案中,將有一個很常大的檔案,雖然可以把一個大檔案分成多個小檔案,但是多個表及索引在表空間
中混合儲存,這樣對於一個表做了大量刪除操作後表空間中將會有大量的空隙,特別是對於統計分析,日誌系統這類應用最不適合用共享表空間。

總結:MySQL資料庫是由N多表組成的,每個表有自己的表定義檔案.frm檔案,表索引檔案,表資料檔案。INNODB的索引檔案和資料檔案是在一起的,MYISAM是分開的。
對於表空間,INNODB分成共享表空間和獨享表空間2種。共享的情況下,所有表的資料都存在一個檔案裡,獨享情況下,每個表單獨檔案儲存此表的資料。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2124040/,如需轉載,請註明出處,否則將追究法律責任。

相關文章