检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
v1.1版本,存在差异。进一步确认客户端TLS版本,与自建MySQL一致,因此出现连接自建MySQL成功,连接云上TaurusDB失败。 解决方案 客户端升级TLS版本到TLS v1.2。 如果使用官方JDBC驱动mysql-connector/J,可参考官方文档,配置方法: 父主题:
因此上述查询无索引可选。建议业务侧给字段“idx_user_id”新增索引后,实例在16:37分左右CPU下降到正常水平,业务恢复。 解决方案 建议新上业务时,提前对关键SQL通过EXPLAIN、SQL诊断等工具进行执行计划分析,根据优化建议添加索引,避免全表扫描。 业务量突增的
emoji表情为特殊字符,需要4字节字符集存储。 该问题场景下,数据库字符集为utf-8,它最多支持3个字节;utf8mb4才是支持4个字节的字符集; 解决方案 将存储emoji表情的字段的字符集修改为utf8mb4。 如果涉及的表和字段比较多,建议把对应表、数据库的编码也设置为utf8mb4。参考命令:
创建用户后用delete删除用户,再创建同名用户时报错ERROR 1396。通过执行flush privileges后,可正常创建同名用户。 解决方案 方式一(推荐):在业务低峰期,使用管理员账户执行drop user user_name删除用户,再重新创建该用户,修复该问题。 方式二:
emoji表情为特殊字符,需要4字节字符集存储。 该问题场景下,数据库字符集为utf-8,它最多支持3个字节;utf8mb4才是支持4个字节的字符集; 解决方案 将存储emoji表情的字段的字符集修改为utf8mb4。 如果涉及的表和字段比较多,建议把对应表、数据库的编码也设置为utf8mb4。参考命令:
升级TaurusDB代理内核版本 数据库代理服务支持手动升级至最新内核版本,内核版本的升级涉及性能提升、新功能或问题修复等。 升级方案 根据升级时间不同,升级内核小版本可以分为以下两种方式。 立即升级:您可以根据实际业务情况,在目标实例概览页面手动升级内核小版本。 可维护时间段内
程数,在大量建立连接时,总线程数计算方法:threadpool_size*(threadpool_oversubscribe+1)) 解决方案 对于存在大量新建连接,建议调大threadpool_oversubscribe增加线程总数。 减少线程重复创建与销毁部分的开销,提高性能
分析对应时间点的慢日志记录,该时间点有大量的多值批量插入语句,该插入方式会导致每个会话申请较多的SESSION级内存,并发高,很容易引起实例OOM。 图4 慢日志 解决方案 针对多值插入方式引起的OOM,建议减少单次插入数据量,分多次插入,且及时断开重连会话以释放内存。可执行show full process
升级GaussDB(for MySQL)代理内核版本 数据库代理服务支持手动升级至最新内核版本,内核版本的升级涉及性能提升、新功能或问题修复等。 升级方案 根据升级时间不同,升级内核小版本可以分为以下两种方式。 立即升级:您可以根据实际业务情况,在目标实例概览页面手动升级内核小版本。 可维护
程数,在大量建立连接时,总线程数计算方法:threadpool_size*(threadpool_oversubscribe+1)) 解决方案 对于存在大量新建连接,建议调大threadpool_oversubscribe增加线程总数。 减少线程重复创建与销毁部分的开销,提高性能
创建用户后用delete删除用户,再创建同名用户时报错ERROR 1396。通过执行flush privileges后,可正常创建同名用户。 解决方案 方式一(推荐):在业务低峰期,使用管理员账户执行drop user user_name删除用户,再重新创建该用户,修复该问题。 方式二:
分析对应时间点的慢日志记录,该时间点有大量的多值批量插入语句,该插入方式会导致每个会话申请较多的SESSION级内存,并发高,很容易引起实例OOM。 图4 慢日志 解决方案 针对多值插入方式引起的OOM,建议减少单次插入数据量,分多次插入,且及时断开重连会话以释放内存。可执行show full process
rl”字段,如果执行DDL操作将“callback_url”修改为varchar(1024),会超出联合索引最大长度限制,所以报错。 解决方案 MySQL机制约束,建议修改索引或字段长度。 父主题: SQL类
因此上述查询无索引可选。建议业务侧给字段“idx_user_id”新增索引后,实例在16:37分左右CPU下降到正常水平,业务恢复。 解决方案 建议新上业务时,提前对关键SQL通过EXPLAIN、SQL诊断等工具进行执行计划分析,根据优化建议添加索引,避免全表扫描。 业务量突增的
v1.1版本,存在差异。进一步确认客户端TLS版本,与自建MySQL一致,因此出现连接自建MySQL成功,连接云上TaurusDB失败。 解决方案 客户端升级TLS版本到TLS v1.2。 如果使用官方JDBC驱动mysql-connector/J,可参考官方文档,配置方法: 父主题:
表扫描。 业务重新创建了联合索引将“group_id”字段放在第一位,“query_date”字段放在最后一位后,查询耗时符合预期。 解决方案 查询变慢首先确认是否由于CPU利用率达到性能瓶颈导致执行慢。 库表结构设计不合理,索引缺失或索引设置不恰当会导致慢SQL。 表数据大批量
表扫描。 业务重新创建了联合索引将“group_id”字段放在第一位,“query_date”字段放在最后一位后,查询耗时符合预期。 解决方案 查询变慢首先确认是否由于CPU利用率达到性能瓶颈导致执行慢。 库表结构设计不合理,索引缺失或索引设置不恰当会导致慢SQL。 表数据大批量
连接失败的排查思路 排除数据库实例异常 检查办法:请在控制台检查云实例状态是否为“正常”。 可能原因:云数据库 TaurusDB实例状态异常。 解决方案:如果实例状态为“异常”,请尝试重启。 图2 检查实例状态 使用正确的客户端连接方式 安装MySQL 8.0的数据库实例版本的客户端。 内
排除数据库实例异常 检查办法:请在控制台检查云实例状态是否为“正常”。 可能原因:云数据库 GaussDB(for MySQL)实例状态异常。 解决方案:如果实例状态为“异常”,请尝试重启。 图2 检查实例状态 使用正确的客户端连接方式 安装MySQL 8.0的数据库实例版本的客户端。 内
a=t2.a and t1.b=123 and t2.c= 4 问题:如果t1.c与t2.c字段相同,那么t1上的索引(b,c)就只用到b。 修改方案:此时如果把where条件中的t2.c=4改成t1.c=4,那么可以用到完整的索引。这种情况可能会在字段冗余设计(反范式)时出现。 推荐使用UNION