- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我一直在阅读 http://dev.mysql.com/doc/refman/5.0/en/mysqlcheck.html努力弄清楚如何优化我所有的 MyISAM 表,但似乎无法得到它。我发现它看起来像是一个手写脚本,但我无法让它发挥作用,我宁愿真正理解它。
这是我遇到的:
for i in mysql -e 'select concat(table_schema,".,table_name) from information_schema.tables where engine="MyISAM"';做 mysql -e “优化表 $i”;完成
但是如果使用更多与文档中描述的内容类似的东西会很棒,比如 mysqloptimize --all-databases
但我绝对不希望它尝试优化我的 InnoDB表格..
有什么建议吗?
谢谢
最佳答案
您可以使用存储例程来优化表。但是,显然,这需要运行 mysql 服务。存储例程的示例如下所示。此过程中定义的游标从当前数据库(定义此 sp)中选择所有表。您可以在 WHERE 中添加用于检查 MYISAM 表的条件,例如:
DELIMITER //
CREATE PROCEDURE util_optimize_all_tables()
SQL SECURITY INVOKER
BEGIN
DECLARE endloop INT DEFAULT 0;
DECLARE tableName CHAR(100);
DECLARE rCursor CURSOR FOR SELECT `TABLE_NAME`
FROM `information_schema`.`TABLES`
WHERE `TABLE_SCHEMA` = DATABASE() AND `ENGINE`='MyISAM';
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET endloop = 1;
OPEN rCursor;
FETCH rCursor INTO tableName;
WHILE endloop = 0 DO
SET @sql = CONCAT('OPTIMIZE TABLE `', tableName, '`;');
PREPARE statement FROM @sql;
EXECUTE statement;
FETCH rCursor INTO tableName;
END WHILE;
CLOSE rCursor;
END//
DELIMITER ;
关于mysqlcheck with --optimize 但仅适用于 MyISAM 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12263190/
下午,我目前想知道 mysqlcheck -q 是否代表快速。与 mysqlcheck -r 一样彻底。这并不是要修复 MySQL 数据库中的表,而是要看看发现的任何错误是否同样彻底。这个想法是为了绕
根据mysqlcheck手册我可以执行以下操作: mysqlcheckdatabase_name --auto-repair -ao -u="用户"-p="密码" 但是它从不接受密码。我使用 shel
我正在阅读 mysqlcheck 的文档here ,但我无法理解 --check ,我的意思是,我无法理解它检查了什么错误(我只能找到 Check the tables for errors. Thi
背景 我有一个 Drupal 站点,其中包含一个由 phpmyadmin 管理的数据库。该数据库的大小超过 1500 个表。我在速度方面遇到了很大的问题,正在寻找一个好的解决方案。该数据库已有 2.5
每个星期六早上 8 点,我都会使用以下 sh 脚本对我的所有数据库进行维护。我使用 --check、--optimize 和 --analyze 运行 mysqlcheck。 这是脚本: # chec
每次我尝试备份或检查所有表时,mysql 服务器都会在 Windows Server 2012 上崩溃,我的开发环境使用 XAMPP 堆栈。数据库加密在数据库中有超过 1100 个表。我包括下面的日志
我目前正在尝试通过命令提示符执行基本的 mysqlcheck。 mysql.exe 文件本身位于工作目录指向的 bin 中,通过 cmd 作为命令的一部分使用。 现在我在打开 shell 时卡在它停止
我一直在阅读 http://dev.mysql.com/doc/refman/5.0/en/mysqlcheck.html努力弄清楚如何优化我所有的 MyISAM 表,但似乎无法得到它。我发现它看起来
我有一个 mysql 服务器 (5.0.58),它托管着许多数据库 (~30)。几年前,我开始遇到一些数据库的性能问题,我最终通过执行夜间 cron 作业来使用以下命令检查/优化数据库来解决这些问题:
我正在使用 wamp 服务器 2.5。我需要mysqlcheck.exe程序,哪里可以下载?用谷歌搜索,所有出现的都是那些粗略的“下载 dll 文件”网站,我宁愿从可靠的地方下载它。谢谢 最佳答案 我
今天早上我的 mariadb 数据库无法启动。 似乎我有一些损坏的 InnoDB 表,它只会以 innodb_force_recovery 开头设置(值 1 使其启动)。 我已经尝试过mysql_up
我是一名优秀的程序员,十分优秀!