最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL 刪除大表的性能問題解決方案

 更新時(shí)間:2012年11月24日 18:51:56   作者:  
MySQL在刪除大表engine=innodb(30G+)時(shí),如何減少M(fèi)ySQL hang的時(shí)間,本為將提供詳細(xì)的解決方案,需要了解的朋友可以參考下
微博上討論MySQL在刪除大表engine=innodb(30G+)時(shí),如何減少M(fèi)ySQL hang的時(shí)間,現(xiàn)做一下簡(jiǎn)單總結(jié):

當(dāng)buffer_pool很大的時(shí)候(30G+),由于刪除表時(shí),會(huì)遍歷整個(gè)buffer pool來清理數(shù)據(jù),會(huì)導(dǎo)致MySQL hang住,解決的辦法是:
1、當(dāng)innodb_file_per_table=0的時(shí)候,以上不是問題,因?yàn)椴捎霉蚕肀砜臻g的時(shí)候,該表所占用的空間不會(huì)被刪除,buffer pool中的相關(guān)頁不會(huì) 被discard。
2、當(dāng)innodb_file_per_table=1的時(shí)候,并且當(dāng)buffer_pool比較大的時(shí)候,遍歷整個(gè)buffer pool 需要很多的時(shí)間(table_cache 會(huì)被鎖住,所有的DML操作被阻止)。

認(rèn)識(shí)誤區(qū)
將innodb 表改為 myisam表,這個(gè)是沒有效果的,該操作會(huì)刪除舊表,建立新表,依然會(huì)遍歷整個(gè)buffer_pool。

解決思路
1、采用腳本形式,批量刪除部分記錄
2、可以再slave上進(jìn)行操作,進(jìn)行主備切換(成本高)
3、Percona 5.1.58以上版本都支持innodb_lazy_drop_table(bug不少,慎用)
4、與buffer pool無關(guān),但是可以加快 刪除數(shù)據(jù)文件的速度,同樣能減少M(fèi)ySQL hang住的時(shí)間。即:對(duì)數(shù)據(jù)文件建立硬鏈接,(依賴原理:OS HARD LINK 當(dāng)多個(gè)文件名同時(shí)指向同一個(gè)INODE時(shí),這個(gè)INODE的引用數(shù)N>1, 刪除其中任何一個(gè)文件名只是刪除了一個(gè)指針而已,不會(huì)刪除數(shù)據(jù)文件。當(dāng)INODE的引用數(shù)N=1時(shí), 刪除文件需要去把這個(gè)文件相關(guān)的所有數(shù)據(jù)塊清除,所以會(huì)比較耗時(shí))

相關(guān)文章

最新評(píng)論

徐闻县| 湘潭市| 财经| 濮阳市| 垫江县| 昌都县| 房山区| 平定县| 峨山| 高雄市| 普洱| 乌苏市| 勐海县| 东阿县| 兴化市| 鸡西市| 中宁县| 中方县| 临江市| 孟村| 桓仁| 合阳县| 清丰县| 吴江市| 西城区| 枣阳市| 读书| 盐边县| 扶余县| 剑阁县| 塘沽区| 娄底市| 西安市| 丰镇市| 峨边| 曲阜市| 哈尔滨市| 四子王旗| 博客| 青浦区| 广水市|