MySQL InnoDB獨立表空間模式的優點和缺點介紹


 

File-Per-Table的優點

1.當表刪除或者truncate,空間可以被OS回收。
2.Truncate table在單個.ibd文件上執行更快。
3.可以為每個表指定一個特定存儲。優化IO,空間管理。CREATE TABLE ... DATA DIRECTORY =absolute_path_to_directory 。
4.運行OPTIMEIZE TABLE,壓縮或者重建創建表空間。運行OPTIMIZE TABLE InnoDB會創建一個新的ibd文件。當完成時,老的表空間會被新的代替。
5.可以移動單個表,不需要移動整個數據庫
6.可以把表復制到另外一個實例
7.innodb_file_per_table啟動后才能使用Barracuda文件格式。
8.可以更有效的存儲帶BLOB,TEXT使用動態行模式的表。
9.使用innodb_file_per_table可以提高recovery的成功率,減少損壞錯誤發生恢復的時間。
10.可以快速的備份,恢復單個表。
11.innodb_file_per_table 可以從備份中去除一個表
12.innodb_file_per_table在備份和復制表時,容易觀察每個表的狀態。
13.可以通過文件系統直接觀察表的大小。
14.當innodb_flish_method設置為O_DIRECT,通常linux文件系統不允許並發的寫入同一個文件。使用innodb_file_per_table就會有性能提升。
15.不啟用innodb_file_per_table,數據都會放在系統表空間中,最大64TB,如果使用innodb_file_per_table每個表可以64TB。

File-Per-Table的缺點:

1.表空間中的空間只能被這個表使用
2.fsync操作必須在每個表上都運行一遍
3.mysqld必須保持一個打開的文件句柄,表太多會影響性能。
4.會消耗很多文件描述
5.innodb_file_per_tablezhiyou 5.6.6或更高版本才能用,有向下兼容問題。
6.如果很多表都增長,會出現文件碎片問題。導致drop表和表掃描性能下降。
7.當drop表的時候會掃描buffer pool,如果太大會比較耗時。
8.innodb_autoextend_increment指定當文件滿了之后增長的空間。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM