默認(rèn)辆琅,所有innodb的table和indexcu存儲(chǔ)在system tablespace(共享表空間)。也可以把table跟index存在自己的數(shù)據(jù)文件中佩谷,這種特性叫file-per-table tablespace(獨(dú)立表空間)奥喻。該特性由 innodb_file_per_table配置項(xiàng)控制。
---
獨(dú)立表空間優(yōu)點(diǎn):
* 當(dāng)truncate或drop表時(shí)哥牍,可以回收對(duì)應(yīng)的硬盤空間毕泌。而共享表空間遇到同樣操作時(shí),只在數(shù)據(jù)文件內(nèi)部清理出空閑空間給新的innodb數(shù)據(jù)嗅辣。
* 獨(dú)立表空間操作truncate更快
* 可以把具體的表存儲(chǔ)到不同的存儲(chǔ)設(shè)備上(i/o優(yōu)化撼泛,空間管理,數(shù)據(jù)備份)
* 使用OPTIMIZE_TABLE創(chuàng)建獨(dú)立表空間澡谭。innodb據(jù)此創(chuàng)建臨時(shí)命名的新ibd文件愿题,只需要必備的存儲(chǔ)空間
* 使用barracuda文件格式,獨(dú)立表空間具有可壓縮及動(dòng)態(tài)增長的特性
* 動(dòng)態(tài)增長使得blob或text字段存儲(chǔ)更高效
* 使用獨(dú)立表空間蛙奖,備份數(shù)據(jù)更快
* 數(shù)據(jù)崩潰時(shí)潘酗,獨(dú)立表空間的數(shù)據(jù)恢復(fù)成功幾率更高
* 在不借助mysql的情況下,在系統(tǒng)文件層級(jí)即可監(jiān)控?cái)?shù)據(jù)表大小
* 共享表空間有64TB的存儲(chǔ)上限雁仲,每個(gè)獨(dú)立表空間都有64TB的存儲(chǔ)上限仔夺。