1、权限问题

alter routine 编辑或删除存储过程

create routine 建立存储过程

execute 创建存储过程

2、存储过程相关的一些命令

show procedure status\G  查看数据库中有哪些存储过程

show procedure status where db = 'db_name'\G 查看指定数据库(db_name)中有哪些存储过程

select name from mysql.proc where db = 'db_name';  查看指定数据库(db_name)中有哪些存储过程

select routine_name from information_schema.routines where routine_schema = 'db_name'; 查看指定数据库(db_name)中有哪些存储过程

show create procedure dbname.sp_delete_bakhistory_new \G 查看存储过程的详细内容

3、MySQL 存储过程删除大表

delimiter //
CREATE  PROCEDURE `sp_delete_bigtable_60`( )
BEGIN
declare v_id int;
declare stopflag int;
declare v_num int;
declare cursor_id cursor for select id from bigtable  where gmt_created<now()-interval 60 day;
declare continue handler for not found set stopflag=1; 
open cursor_id; 
repeat 
fetch cursor_id into v_id; 
begin 
delete from bigtable  where id =v_id; 
end; 
set v_num=v_num+1;
 if mod(v_num,100)=0 then
 commit;
 end if;
until stopflag = 1
end repeat; 
close cursor_id;
END;
//
delimiter ; 
 
需要注意的是DELIMITER //和DELIMITER ;两句,DELIMITER是分割符的意思,因为MySQL默认以";"为分隔符,如果我们没有声明分割符,那么编译器会把存储过程当成SQL语句进行处理,则存储过程的编译过程会报错,所以要事先用DELIMITER关键字申明当前段分隔符,这样MySQL才会将";"当做存储过程中的代码,不会执行这些代码,用完了之后要把分隔符还原。
如果是用MySQL的Administrator管理工具时,可以直接创建,不再需要声明。
 
 
 
 
 
 
 

MySQL 存储过程删除大表的更多相关文章

  1. 【MySQL】删除大表的讨论【转】

    转自http://tech.ddvip.com/2013-07/1373269453198566.html 微博上讨论MySQL在删除大表engine=innodb(30G+)时,如何减少MySQL ...

  2. mysql删除大表更快的drop table办法

    mysql删除大表更快的drop table办法 参考资料:https://blog.csdn.net/anzhen0429/article/details/76284320 利用硬链接和trunca ...

  3. MySQL删除大表时潜在的问题(drop table,truncate table)

    来源于:https://www.cnblogs.com/CtripDBA/p/11465315.html,侵删,纯截图,避免吸引流量之嫌 case1,删除大表时,因为清理自适应hash索引占用的内容导 ...

  4. MySQL 硬链接删除大表

    在清理整个大表时,我们推荐使用drop,而非delete.但是如果表实在太大,即使是drop,也需要消耗一定的时间.这时可以利用linux的硬连接来快速删除大表,操作过程如下:有一个大表test,共有 ...

  5. MySQL如何优雅的删除大表

    前言 删除表,大家下意识想到的命令可能是直接使用DROP TABLE "表名",这是初生牛犊的做法,因为当要删除的表达空间到几十G,甚至是几百G的表时候.这样一条命令下去,MySQ ...

  6. Mysql千万级大表优化

    Mysql的单张表的最大数据存储量尚没有定论,一般情况下mysql单表记录超过千万以后性能会变得很差.因此,总结一些相关的Mysql千万级大表的优化策略. 1.优化sql以及索引 1.1优化sql 1 ...

  7. 如何优化MySQL千万级大表

    很好的一篇博客,转载 如何优化MySQL千万级大表 原文链接::https://blog.csdn.net/yangjianrong1985/article/details/102675334 千万级 ...

  8. MySQL千万级大表优化解决方案

    MySQL千万级大表优化解决方案 非原创,纯属记录一下. 背景 无意间看到了这篇文章,作者写的很棒,于是乎,本人自私一把,把干货保存下来.:-) 问题概述 使用阿里云rds for MySQL数据库( ...

  9. Mysql大概1700W大表删除1000W左右数据,发现数据大小和索引大小并没有减少思考

    MySQL删除操作其实是假删除 因为近期在重构优化一个业务的时候 发现有一张表(send_log)数据量将近1700W 左右  占用数据大小17G,索引18G左右  而我们的核心应用在使用的时候 会去 ...

随机推荐

  1. EXTJS 4.2 资料 Grid嵌套

    如图: var ParentContCateId = 0; var start = 0; var limit = 20; DistributionPointForm = function () { E ...

  2. TOPAPI 消息通知机制

    接收用户订阅消息 public class UserSubMain { public static void main(String[] args ) throws ApiException { St ...

  3. python 记录日志logging

    在项目开发中,往往要记录日志文件.用python记录日志有两种方式: 1.利用python 自带的logging库,例如: # -*- coding: utf-8 -*- import osimpor ...

  4. c#带参数和返回值的函数 开启线程调用的方法

    public delegate string DgTest(); private void btn_District_Click(object sender, EventArgs e) { //实例化 ...

  5. The 7th Zhejiang Provincial Collegiate Programming Contest->Problem B:B - Somali Pirates

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3323 题意:去掉字符串里面的数字然后按输入顺序输出 #include< ...

  6. scikit-learn安装

    1.依赖包: Cython.rose.numpy.scipy.lapack.atlas http://blog.chinaunix.net/uid-22488454-id-3978860.html

  7. POJ3697+BFS+hash存边

    /* 疾速优化+hash存边 题意:给定一个包含N(1 ≤ N ≤ 10,000)个顶点的无向完全图,图中的顶点从1到N依次标号.从这个图中去掉M(0 ≤ M ≤ 1,000,000)条边,求最后与顶 ...

  8. [itint5]直角路线遍历棋盘

    http://www.itint5.com/oj/#22 这题一开始直接用暴力的DFS来做,果然到25的规模就挂了. vector<bool> visited(50, false); ve ...

  9. 在自己的网站上实现QQ授权登录

    最近在实现QQ授权登录,现将我的实现过程以及我的理解整理如下.以下所述如有不对之处,请指正. 官方提供的SDK有:JS,PHP,Java.我的网站使用Scala+Play搭建的,所以只能用JS SDk ...

  10. the service mysql56 was not found in the Windows services的解决办法

    mysql无法启动,无法改变状态-CSDN论坛-CSDN.NET-中国最大的IT技术社区 http://bbs.csdn.net/topics/390943788   具体描述: 关闭,重启mysql ...