gpt4 book ai didi

MySQL/MariaDB 事件优化数据库表

转载 作者:行者123 更新时间:2023-11-29 11:47:13 24 4
gpt4 key购买 nike

我有兴趣创建一个重复事件来每晚优化我的数据库表。

我必须SELECT Concat('OPTIMIZE TABLE ', TABLE_NAME, ';') FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='database_name';。如何在 MySQL 事件中执行每一行?

我更喜欢使用 MySQL/MariaDB 事件,而不涉及 bash。谢谢!

最佳答案

所以,这是您的查询。您只需更改 SELECT 语句即可调用它

ELIMITER //
CREATE PROCEDURE p1()
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE val VARCHAR(2000);
DECLARE curs CURSOR FOR SELECT sqlstring FROM table_a;

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;

OPEN curs;

read_loop: LOOP
FETCH curs INTO val;
IF done THEN
LEAVE read_loop;
END IF;

SET @sql := val;
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

END LOOP;

CLOSE curs;
END; //

DELIMITER ;

调用它

调用 p1();

关于MySQL/MariaDB 事件优化数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34722934/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com