说明:此处为《高性能mysql(第二版)》中的示例代码,除了数据库名 其他未经更改。仅供学习及参考

对数据库的每个表执行优化的存储过程

CREATE PROCEDURE `inventory`.`optimize_table` (db_name VARCHAR(64))
BEGIN
 DECLARE t VARCHAR(64);
 DECLARE done INT DEFAULT 0;
 DECLARE c CURSOR FOR
  SELECT table_name FROM INFORMATION_SCHEMA.TABLES
  WHERE TABLE_SCHEMA=db_name AND TABLE_TYPE='BASE TABLE';
 DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done=1;
 OPEN c;
 tables_loop:LOOP
  FETCH c INTO t;
  IF done THEN
   CLOSE c;
   LEAVE tables_loop;
  END IF;
  SET @stmt_text:=CONCAT("OPTIMIZE TABLE ",db_name,'.',t);
  PREPARE stmt FROM @stmt_text;
  EXECUTE stmt;
  DEALLOCATE PREPARE stmt;
 END LOOP;
 CLOSE c;
END

语句2:

CREATE PROCEDURE `inventory`.`optimize_tables2` (db_name VARCHAR(64))
BEGIN
 DECLARE t VARCHAR(64);
 DECLARE done INT DEFAULT 0;
 DECLARE c CURSOR FOR
  SELECT table_name FROM INFORMATION_SCHEMA.TABLES
  WHERE TABLE_SCHEMA=db_name AND TABLE_TYPE='BASE TABLE';
 DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done=1;
 OPEN c;
 REPEAT
  FETCH c INTO t;
  IF NOT done THEN
   SET @stmt_text:=CONCAT("OPTIMIZE TABLE ",db_name,'.',t);
   PREPARE stmt FROM @stmt_text;
   EXECUTE stmt;
   DEALLOCATE PREPARE stmt;
  END IF;
 UNTIL done END REPEAT;
 CLOSE c;
END

调用时为call optimize_tables2('库名');

或者

call optimize_tables('库名');

最新文章

  1. 关于磁盘错误disk error
  2. VC++ Post 方法 上传数据到web服务器
  3. GPU高性能计算-CUDA
  4. 用javascript写Android和iOS naitve应用,实在炫酷。
  5. Web服务器常用设置
  6. 个人开源作品,即时通讯App支持文本、语音、图片聊天
  7. 创建泛类集合List以及数组转集合,集合转数组的应用
  8. Java 代码优化过程的实例介绍
  9. [Javascript] Lodash: Refactoring Simple For Loops (_.find, _.findLast, _.filter)
  10. 不用找了,比较全的signalR例子已经为你准备好了.
  11. Linux学习一些在Terminal可以用到的快捷键及Shell常用的通配符
  12. Spring Boot 系列教程18-itext导出pdf下载
  13. mysql控制台出现“unknown column 'password' in 'field list'问题
  14. Cocos2d-x Lua游戏开发Mac环境搭建以及一点点感悟
  15. *42. Trapping Rain Water 接雨水
  16. npm修改淘宝原
  17. 今天给大家补充一下 background 用法
  18. java初始重点语法
  19. WPF Combobox选中事件
  20. f5基本介绍

热门文章

  1. SPRING IN ACTION 第4版笔记-第四章ASPECT-ORIENTED SPRING-008-带参数的ADVICE
  2. QTY N.W G.W
  3. Visual Assist X
  4. EventLog实现事件日志操作
  5. 【HDOJ】4162 Shape Number
  6. 我的第一个Spring程序
  7. apache和tomcat
  8. SQL Server登录 18456错误
  9. jQuery append xmlNode 修改 xml 内容
  10. date命令--修改linux系统时间