背景:因为内部业务需要,打开了mysql的general_log并写入到table中,但是查询日志量很大,一份大约有2W+条记录,所以希望给general_log表添加索引,加快查询速度。
实际操作发现,general_log不能添加索引失败,如下图:

查看mysql官方文档发现,general_log表引擎为CSV,不能执行alter table

下面照着官方文档修改engine后,执行“ALTERTABLEmysql.general_logENGINE=MyISAM;”,但是实际发现,很久都没有响应。怀疑是因为表里的数据太多,执行很慢。那就先清空数据表再试试,具体步骤如下:

另外,argument是text类型,添加索引时,需要执行字段长度。

最后,修改完成后结果如下图:

参考文档:https://dev.mysql.com/doc/refman/5.6/en/log-destinations.html
网友评论