MySQL大数据库表记录的删除及优化表操作心得分享

mysql大数据库表记录的删除及优化表操作心得分享

近几日对公司数据库一个近超过2千万级数据表进行删除优化处理, 发现对一个千万级数据表进行删除记录及进行optimize操作时,会极其的耗时间和空间。

删除数据库的时候要分批删除,譬如每次删除20~30万,不然一次500万删除性能一下子急剧下降,删除极其慢,甚至导致卡死,所以删除大表的时候要注意分表,可以shell 分批删数据。

删除记录时,MyISAM表会留下空洞碎片,碎片多了会持续降低MySQL性能。如果使用optimize操作的话,注意,MySQL会先生成一个TMD文件;完成操作后才会把这个文件删除。这个过程可能比较漫长......

优化1G 左右的Mysql碎片空间的,大约需要10分钟左右时间。

所以再设计表和存储记录时,就应当想好这个表的记录会不会有大量记录;如果是的话应该要先设计好应对方案,水平切分或垂直切分。

其实,也算不上什么经验吧,呵呵,算是一个心得。


关键词: 优化表 , mysql

上一篇: nginx实时访问数据统计:ngxtop,实时监控web server的访问情况
下一篇: 【shell脚本】MySQL定时批量检查表repair和优化表optimize table

目前还没有人评论,您发表点看法?
发表评论

评论内容 (必填):