问题背景:
对查询语句进行索引优化,针对以下表添加联合索引,语句如下:
ALTER TABLE hzz_patrol_period_config add index IDX_PERIOD_CONFIG_YEAR_TYPE_VAL (EFFECT_YEAR,CHECK_CYCLE_TYPE,CHECK_CYCLE_VAL);
Navicat上执行一直等待,最后报超时的异常,如下:
问题分析与解决:
1.根据上述错误,第一时间查询相应的表是否被锁,导致创建索引的时候一直等待。
SHOW OPEN TABLES like 'hzz_patrol_period_config';
查询发现相应的表未被锁定,且表的记录数目前并不多,只有二三百条,创建索引的话应该也很快。
2.基于1的分析,怀疑是navicat这个工具有问题,于是更换到另外一台远程服务器,打开上面的navicat进行执行,秒执行成功,问题解决。