DBAtlas · 数据库运维图谱

1969: MariaDB: Query execution was interrupted (max_statement_time exceeded)(MariaDB:查询执行被中断(超出 max_statement_time))

MySQL

含义

MariaDB 特有(ER_STATEMENT_TIMEOUT):查询因超过 max_statement_time 定义的最大执行时间而被中断。MySQL 没有此代码;MySQL 中的对应错误是 3024(ER_QUERY_TIMEOUT,max_execution_time)。

原因

在 MariaDB 中,超出会话/全局 max_statement_time 限制,或超出用 SET STATEMENT max_statement_time=N FOR ... 设置的限制;低效的执行计划、缺少索引、大量数据扫描或锁等待。

解决方法

用 EXPLAIN 分析查询,通过添加索引和改进执行计划加快速度。如果查询确实需要长时间运行,在 MariaDB 中提高限制:SET SESSION max_statement_time = 60;(秒)或 SET STATEMENT max_statement_time = 60 FOR SELECT ...; 如果使用 MySQL,请参阅 3024 条目(max_execution_time,毫秒;MAX_EXECUTION_TIME 提示)。拆分大型操作。

在 DBAtlas 中打开 →

同一数据库的其他条目