MySQL獨(dú)立表空間的優(yōu)缺點(diǎn)
MySQL獨(dú)立表空間相信大家都有一些了解,下面就為您分析MySQL獨(dú)立表空間的優(yōu)缺點(diǎn),希望可以讓您對(duì)MySQL獨(dú)立表空間有更多的了解。
獨(dú)立表空間:
在配置文件(my.cnf)中設(shè)置: innodb_file_per_table
優(yōu)點(diǎn):
1.每個(gè)表都有自已獨(dú)立的表空間。
2.每個(gè)表的數(shù)據(jù)和索引都會(huì)存在自已的表空間中。
3.可以實(shí)現(xiàn)單表在不同的數(shù)據(jù)庫(kù)中移動(dòng)。
4.空間可以回收(除drop table操作處,表空不能自已回收)
a) Drop table操作自動(dòng)回收表空間,如果對(duì)于統(tǒng)計(jì)分析或是日值表,刪除大量數(shù)據(jù)后可以通過:alter table TableName engine=innodb;回縮不用的空間。
b)對(duì)于使innodb-plugin的Innodb使用turncate table也會(huì)使空間收縮。
c)對(duì)于使用獨(dú)立表空間的表,不管怎么刪除,表空間的碎片不會(huì)太嚴(yán)重的影響性能,而且還有機(jī)會(huì)處理。
缺點(diǎn):
單表增加過大,如超過100個(gè)G。
對(duì)于單表增長(zhǎng)過大的問題,如果使用共享表空間可以把文件分開,但有同樣有一個(gè)問題,如果訪問的范圍過大同樣會(huì)訪問多個(gè)文件,一樣會(huì)比較慢。對(duì)于獨(dú)立表空間也有一個(gè)解決辦法是:使用分區(qū)表,也可以把那個(gè)大的表空間移動(dòng)到別的空間上然后做一個(gè)連接。其實(shí)從性能上出發(fā),當(dāng)一個(gè)表超過100個(gè)G有可能響應(yīng)也是較慢了,對(duì)于獨(dú)立表空間還容易發(fā)現(xiàn)問題早做處理。
【編輯推薦】