CREATE PROCEDURE `sp_optimize_table`()
BEGIN
declare l_delete_date varchar(16);
declare l_state_date varchar(16);
declare l_dutyno int;
declare l_row_cnt int DEFAULT 0;
declare rn int default 0;
declare i int default 0;
set l_dutyno=101;
set l_delete_date=date_format(DATE_ADD(now(),INTERVAL -30 day),'%Y-%m-%d'); /*删除90天之前的*/
set l_state_date=date_format(now(),'%Y%m%d');
set i=21;
while i<=50 DO
insert into tb_stat_duty_log(dutydate,dutyno,status,remark) values(l_state_date,l_dutyno,0,concat('开始optimize表app_message_',i));
set @strsql01 = CONCAT('optimize table db_pushmsg.app_message_',i);
/*set @strsql01 = CONCAT('optimize table db_admin.tb_stat_duty_log');*/
/*select @strsql01;*/
PREPARE stmt01 FROM @strsql01;
execute stmt01;
deallocate prepare stmt01;
insert into tb_stat_duty_log(dutydate,dutyno,status,remark) values(l_state_date,l_dutyno,1,concat('结束optimize表app_message_',i));
set i = i +1;
end while;
END