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

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

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

當buffer_pool很大的時候(30G+),由于刪除表時,會遍歷整個buffer pool來清理數(shù)據(jù),會導致MySQL hang住,解決的辦法是:
1、當innodb_file_per_table=0的時候,以上不是問題,因為采用共享表空間的時候,該表所占用的空間不會被刪除,buffer pool中的相關頁不會 被discard。
2、當innodb_file_per_table=1的時候,并且當buffer_pool比較大的時候,遍歷整個buffer pool 需要很多的時間(table_cache 會被鎖住,所有的DML操作被阻止)。

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

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

相關文章

最新評論

灵武市| 河东区| 依兰县| 马尔康县| 金溪县| 临洮县| 兴隆县| 仪征市| 郓城县| 咸宁市| 莱阳市| 镇平县| 洪湖市| 本溪市| 五寨县| 石柱| 石泉县| 府谷县| 吴旗县| 湄潭县| 梁山县| 长垣县| 石泉县| 太谷县| 乐平市| 岐山县| 阜阳市| 文山县| 安徽省| 贡觉县| 文安县| 青阳县| 九江县| 江陵县| 淮阳县| 叙永县| 天等县| 华蓥市| 金昌市| 金阳县| 桐梓县|