Welcome 微信登录

首页 / 数据库 / MySQL / MySQL 数据库清理MyISAM Innodb表

MySQL 数据库清理MyISAM Innodb表(支持MySQL5.1.6以上的版本) 数据中心有大量的 MyISAM log表需要定时清理,定为每周末,10G左右,5-10分钟完成.event 调用这里就不写了,直接上存储过程....
 
  1. DROP PROCEDURE IF EXISTS proc_optable;  
  2. tudou@gyyx  
  3. 2012-02-22  
  4. CREATE PROCEDURE proc_optable()  
  5. BEGIN  
  6. DECLARE dono INT DEFAULT 0;  
  7. DECLARE o VARCHAR(2000);  
  8. DECLARE optable CURSOR   
  9. FOR   
  10. SELECT CONCAT("OPTIMIZE LOCAL TABLE `",TABLE_SCHEMA,"`.`",TABLE_NAME,"`;") from information_schema.`TABLES` WHERE TABLE_TYPE="BASE TABLE" AND ENGINE IN ("MyISAM","InnoDB","BDB");  
  11. DECLARE CONTINUE HANDLER FOR NOT FOUND SET dono=1;  
  12. SET dono=0;  
  13. OPEN optable;  
  14. REPEAT  
  15. FETCH optable INTO o;  
  16. set @o=o;  
  17. PREPARE MSQL FROM @o;  
  18. EXECUTE MSQL;  
  19. UNTIL dono END REPEAT;  
  20.   
  21. CLOSE optable;  
  22. END  
MySQL 存储过程循环插入数据MySQL 主从复制,只复制单库时无法复制在其他库上的执行的写入操作相关资讯      MySQL数据库教程 
  • MySQL 处理非法数据  (04/09/2013 08:06:28)
  • MySQL关于timestamp和mysqldump的  (12/16/2012 13:25:41)
  • MySQL保证数据完整性  (12/16/2012 12:00:35)
  • ERROR 1130: mysql 1130连接错误的  (12/16/2012 13:29:08)
  • MySQL数据库教程:管理数据库和表(  (12/16/2012 12:47:02)
  • MySQL快速插入大批量数据存储过程  (11/05/2012 19:04:04)
本文评论 查看全部评论 (0)
表情: 姓名: 字数