检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
因此上述查询无索引可选。建议业务侧给字段“idx_user_id”新增索引后,实例在16:37分左右CPU下降到正常水平,业务恢复。 解决方案 建议新上业务时,提前对关键SQL通过EXPLAIN、SQL诊断等工具进行执行计划分析,根据优化建议添加索引,避免全表扫描。 业务量突增
java:61) 原因分析 canal拉取Binlog时需要赋予REPLICATION SLAVE, REPLICATION CLIENT权限。 解决方案 使用管理员账户给相应用户授予REPLICATION SLAVE, REPLICATION CLIENT权限。 GRANT SELECT
MySQL客户端连接实例后,会自动断开,报错信息:“ERROR 2013:Lost connection to MySQL server during query”。 解决方案 ERROR 2013是MySQL常见错误,一般为配置错误导致。 “wait_timeout”:服务器关闭非交互连接之前等待活动的秒数。
故障场景中使用的是utc+8时区,如下图,所以timestamp字段默认值需要加8小时才是有效范围,有效支持的范围是从1970-01-01 08:00:01开始; 解决方案 执行命令,修改timestamp字段参数默认值。 session_start TIMESTAMP DEFAULT '1970-01-01
MySQL客户端连接实例后,会自动断开,报错信息:“ERROR 2013:Lost connection to MySQL server during query”。 解决方案 ERROR 2013是MySQL常见错误,一般为配置错误导致。 “wait_timeout”:服务器关闭非交互连接之前等待活动的秒数。
java:61) 原因分析 canal拉取Binlog时需要赋予REPLICATION SLAVE, REPLICATION CLIENT权限。 解决方案 使用管理员账户给相应用户授予REPLICATION SLAVE, REPLICATION CLIENT权限。 GRANT SELECT
'=' 原因分析 该报错通常出现在比较两个字符集编码不同的表、字段或数据库时。因为客户端连接时使用的字符集与数据库字符集不同导致报错。 解决方案 如果客户端使用了和数据库不同的字符集,需要调整客户端配置,使用相同的字符集连接数据库,或者在连上数据库后显式设置成对应的字符集,即可正常查询。
by的时候,尽量在合理的情况下设置可以包含所有依赖字段的索引,优化示例: 没有合适索引,导致需要用到临时表。 有合适的索引,不会使用临时表,直接走索引。 解决方案 在使用distinct或group by的时候,尽量在合理的情况下,创建可以包含所有依赖字段的索引。 父主题: SQL类
by的时候,尽量在合理的情况下设置可以包含所有依赖字段的索引,优化示例: 没有合适索引,导致需要用到临时表。 有合适的索引,不会使用临时表,直接走索引。 解决方案 在使用distinct或group by的时候,尽量在合理的情况下,创建可以包含所有依赖字段的索引。 父主题: SQL类
ng temporary、using filesort,如果有,说明该语句用到了临时表或临时文件,数据量大的情况下,会导致磁盘占用高。 解决方案 复杂查询语句导致磁盘打满,建议客户从业务侧优化响应查询语句,常见优化措施: 加上合适的索引。 在where条件中过滤更多的数据。 重写SQL,优化执行计划。
ng temporary、using filesort,如果有,说明该语句用到了临时表或临时文件,数据量大的情况下,会导致磁盘占用高。 解决方案 复杂查询语句导致磁盘打满,建议客户从业务侧优化响应查询语句,常见优化措施: 加上合适的索引。 在where条件中过滤更多的数据。 重写SQL,优化执行计划。
tables where table_schema='db_name' and table_name = 'table_name'\G 解决方案 针对表空间膨胀的问题,可以进行表空间优化整理,从而缩小空间,执行如下SQL命令: optimize table table_name;
官方文档。 当MySQL检查到死锁的表时,会进行事务的回滚。其影响范围不仅是某个表,还会影响外键所在的表,最终导致数据库相关操作变慢。 解决方案 建议排查并优化死锁表相关的业务,业务上合理使用外键,避免更新冲突,避免产生死锁。 父主题: 性能资源类
自增主键的字段取值达到上限,无法继续增长,导致新插入的数据生成的自增主键值与表中上一条数据相同,因为自增主键的值不可重复,插入失败报错。 解决方案 如果数据变化较多,表中实际数据量远小于自增主键的容量,则可以考虑将该表的数据全量导入新表,删除原表,然后rename将新表名改回原表名
释放page的过程中会去获取page所在索引根节点的SX锁,导致select语句无法获取到根节点page的rw-lock,一直在等待。 解决方案 该场景为正常现象,等待purge操作完成后即可恢复正常。 扩大实例规格,提高purge效率。 调整优化业务,避免突然删除大量数据。如果
官方文档。 当MySQL检查到死锁的表时,会进行事务的回滚。其影响范围不仅是某个表,还会影响外键所在的表,最终导致数据库相关操作变慢。 解决方案 建议排查并优化死锁表相关的业务,业务上合理使用外键,避免更新冲突,避免产生死锁。 父主题: 性能资源类
tables where table_schema='db_name' and table_name = 'table_name'\G; 解决方案 针对表空间膨胀的问题,可以进行表空间优化整理,从而缩小空间,执行如下SQL命令: optimize table table_name;
时速度极快。当数据迁移到云上TaurusDB时,第一次执行同样的SQL语句,很可能是冷数据,就会访问较慢,但再次访问速度就会得到提升。 解决方案 该场景是正常现象,在同一个数据库中,我们经常会遇到第一次执行一条语句时很慢,但再次执行就很快,也是因为受到了buffer_pool的冷热数据原理的影响。
tables where table_schema='db_name' and table_name = 'table_name'\G 解决方案 针对表空间膨胀的问题,可以进行表空间优化整理,从而缩小空间,执行如下SQL命令: optimize table table_name;
时速度极快。当数据迁移到云上TaurusDB时,第一次执行同样的SQL语句,很可能是冷数据,就会访问较慢,但再次访问速度就会得到提升。 解决方案 该场景是正常现象,在同一个数据库中,我们经常会遇到第一次执行一条语句时很慢,但再次执行就很快,也是因为受到了buffer_pool的冷热数据原理的影响。