InnoDB 引擎独立表空间 innodb_file_per_table
| 使用過MySQL的同學,剛開始接觸最多的莫過于MyISAM表引擎了,這種引擎的數據庫會分別創建三個文件:表結構、表索引、表數據空間。我們可以將某個數據庫目錄直接遷移到其他數據庫也可以正常工作。然而當你使用InnoDB的時候,一切都變了。 InnoDB 默認會將所有的數據庫InnoDB引擎的表數據存儲在一個共享空間中:ibdata1,這樣就感覺不爽,增刪數據庫的時候,ibdata1文件不會自動收縮,單個數據庫的備份也將成為問題。通常只能將數據使用mysqldump 導出,然后再導入解決這個問題。 在mysql的配置文件[mysqld]部分,增加innodb_file_per_table參數。 可以修改InnoDB為獨立表空間模式,每個數據庫的每個表都會生成一個數據空間。 獨立表空間: 優點: 1.??每個表都有自已獨立的表空間。 a)? ?? ?? ?Drop table操作自動回收表空間,如果對于統計分析或是日值表,刪除大量數據后可以通過:alter table TableName engine=innodb;回縮不用的空間。 b)? ?? ?? ?對于使innodb-plugin的Innodb使用turncate table也會使空間收縮。 c)? ?? ?? ?對于使用獨立表空間的表,不管怎么刪除,表空間的碎片不會太嚴重的影響性能,而且還有機會處理。 缺點: 單表增加過大,如超過100個G。 結論: 共享表空間在Insert操作上少有優勢。其它都沒獨立表空間表現好。當啟用獨立表空間時,請合理調整一 下:innodb_open_files 。 InnoDB Hot Backup(冷備)的表空間cp不會面對很多無用的copy了。而且利用innodb hot backup及表空間的管理命令可以實現單現移動。 ? 1.innodb_file_per_table設置.開啟方法: 2.查看是否開啟: 3.關閉獨享表空間 ? ? 更多Mysql Innodb 引擎優化??http://linux.chinaunix.net/techdoc/database/2009/04/28/1109193.shtml ? |
來源:http://blog.csdn.net/gaoxuefeng/article/details/7699400
總結
以上是生活随笔為你收集整理的InnoDB 引擎独立表空间 innodb_file_per_table的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nginx源码分析—内存池结构ngx_p
- 下一篇: .html,.htm和.shtml的区别