mysql.slow_log表默认引擎是CSV,CSV引擎没有索引; 当数据大小非常大时,这种引擎性能非常慢;
如何将Amamon RDS mysql.slow_log表的引擎更改为innodb
答案 0 :(得分:2)
简短的回答是你不能这样做。答案很长,因为log destinations上的MySQL文档说:
可以更改日志表以使用MyISAM存储引擎。您不能使用ALTER TABLE来更改正在使用的日志表。必须先禁用日志。 CSV或MyISAM以外的引擎对于日志表都不合法。
要禁用日志记录以便您可以更改(或删除)日志表,可以使用以下策略。该示例使用通用查询日志;慢查询日志的过程类似,但使用slow_log表和slow_query_log系统变量。
SET @old_log_state = @@global.general_log; SET GLOBAL general_log = 'OFF'; ALTER TABLE mysql.general_log ENGINE = MyISAM; SET GLOBAL general_log = @old_log_state;
显然,您可以尝试将表引擎更改为innodb以查看亚马逊版本中是否已取消限制,但仅在测试环境中执行此操作。