MySQL数据库清理MyISAM Innodb表(支持MySQL5.1.6以上的版本)

来源:未知 责任编辑:责任编辑 发表时间:2014-05-20 18:34 点击:
数据中心有大量的MyISAM log表需要定时清理,定为每周末,10G左右,5-10分钟完成.
event 调用这里就不写了,直接上存储过程....
[sql] view plaincopyprint?
DROP PROCEDURE IF EXISTS proc_optable; 
tudou@gyyx 
2012-02-22 
CREATE PROCEDURE proc_optable() 
BEGIN 
DECLARE dono INT DEFAULT 0; 
DECLARE o VARCHAR(2000); 
DECLARE optable CURSOR  
FOR  
SELECT CONCAT('OPTIMIZE TABLE `',TABLE_SCHEMA,'`.`',TABLE_NAME,'`;') from information_schema.`TABLES` WHERE TABLE_TYPE='BASE TABLE' AND ENGINE IN ('MyISAM','InnoDB','BDB'); 
DECLARE CONTINUE HANDLER FOR NOT FOUND SET dono=1; 
SET dono=0; 
OPEN optable; 
REPEAT 
FETCH optable INTO o; 
set @o=o; 
PREPARE MSQL FROM @o; 
EXECUTE MSQL; 
UNTIL dono END REPEAT; 
 
CLOSE optable; 
END   


摘自 ylqmf的专栏
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • mysql-mmm
    • mysqldump命令——MySQL数据库备份还原
    • Oracle数据导入MySQL的快捷工具:MySQL Migration Toolkit
    • 简简单单储存过程——循环一个select结果集
    • MySQL数据库十大优化技巧
    • Mysql主主复制架构配置
    • Mysql安装笔记
    • MySQL Stmt预处理提高效率问题的小研究
    • Mysql的Procedure 参数为NULL问题分析
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1