检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
联合索引设置不当导致慢SQL的解决办法 场景描述 业务侧云数据库GaussDB(for MySQL)实例上以往执行耗时8秒的查询,在11:00后耗时超过30秒。 原因分析 查看查询变慢对应的时间段中,实例CPU监控指标并无飙升情况且使用率一直都较低,因此排除了CPU冲高导致查询变慢的可能。
联合索引设置不当导致慢SQL的解决办法 场景描述 业务侧云数据库TaurusDB实例上以往执行耗时8秒的查询,在11:00后耗时超过30秒。 原因分析 查看查询变慢对应的时间段中,实例CPU监控指标并无飙升情况且使用率一直都较低,因此排除了CPU冲高导致查询变慢的可能。 图1 CPU使用率 分析对应
长事务产生大量临时表导致内存超限的解决办法 场景描述 云数据库TaurusDB实例在11:30到12:27分内存使用率持续上升,最终触发内存超限。 图1 内存使用率 原因分析 查看processlist.log日志,查询到有两个慢SQL与图1中内存增长的时间比较匹配。 图2 查询慢SQL
长事务产生大量临时表导致内存超限的解决办法 场景描述 云数据库GaussDB(for MySQL)实例在11:30到12:27分内存使用率持续上升,最终触发内存超限。 图1 内存使用率 原因分析 查看processlist.log日志,查询到有两个慢SQL与图1中内存增长的时间比较匹配。
持锁长事务导致后续业务报等锁超时的解决办法 场景描述 业务侧实例上报错误码1205,等锁超时提示。 MySQL error code MY-001205 (ER_LOCK_WAIT_TIMEOUT): Lock wait timeout exceeded; try restarting
持锁长事务导致后续业务报等锁超时的解决办法 场景描述 业务侧实例上报错误码1205,等锁超时提示。 MySQL error code MY-001205 (ER_LOCK_WAIT_TIMEOUT): Lock wait timeout exceeded; try restarting
possible_keys:指出MySQL能使用哪个索引在表中找到记录,查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询使用。 key:表示MySQL实际决定使用的键(索引),如果没有选择索引,键是NULL。要想强制MySQL使用或忽视possible_keys列中的索引,在查询中使用FORCE INDEX、USE
possible_keys:指出MySQL能使用哪个索引在表中找到记录,查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询使用。 key:表示MySQL实际决定使用的键(索引),如果没有选择索引,键是NULL。要想强制MySQL使用或忽视possible_keys列中的索引,在查询中使用FORCE INDEX、USE
TaurusDB CPU使用率高的解决方法 使用云数据库TaurusDB时,如果您的CPU使用率很高或接近100%,会导致数据读写处理缓慢、无法获取连接、出现报错等,从而影响业务正常运行。 解决方案 通过查看慢SQL日志来确定是否存在运行缓慢的SQL查询以及各个查询的性能特征(如果有),从而定位查询运行缓慢的原因。
基本使用类 查看TaurusDB的存储容量 修改库名和修改表名 字符集和字符序的默认选择方式 自增字段值跳变的原因 表的自增AUTO_INCREMENT初值与步长 修改表的自增AUTO_INCREMENT值 自增主键达到上限,无法插入数据 自增字段取值 自增属性AUTO_INCREMENT为何未在表结构中显示
基本使用类 查看TaurusDB的存储容量 修改库名和修改表名 字符集和字符序的默认选择方式 自增字段值跳变的原因 表的自增AUTO_INCREMENT初值与步长 修改表的自增AUTO_INCREMENT值 自增主键达到上限,无法插入数据 自增字段取值 自增属性AUTO_INCREMENT为何未在表结构中显示
使用规范 GaussDB(for MySQL)数据库权限规范 GaussDB(for MySQL)库表设计规范 GaussDB(for MySQL)索引设计规范 GaussDB(for MySQL)SQL使用规范 父主题: 使用数据库
使用规范 TaurusDB数据库权限规范 TaurusDB库表设计规范 TaurusDB索引设计规范 TaurusDB SQL使用规范 父主题: 使用数据库
使用示例 设置参数:idle_transaction_timeout=10,idle_readonly_transaction_timeout=0,idle_write_transaction_timeout=0 只读事务 mysql> begin; Query OK, 0 rows
GaussDB(for MySQL) CPU使用率高的解决方法 使用云数据库GaussDB(for MySQL)时,如果您的CPU使用率很高或接近100%,会导致数据读写处理缓慢、无法获取连接、出现报错等,从而影响业务正常运行。 解决方案 通过查看慢SQL日志来确定是否存在运行缓慢
使用示例 设置参数:idle_transaction_timeout=10,idle_readonly_transaction_timeout=0,idle_write_transaction_timeout=0 只读事务 mysql> begin; Query OK, 0 rows
认开启SSL(如需关闭可参考:设置SSL数据加密),客户业务使用时可以在客户端自行选择是否使用SSL。 使用mysql client连接时使用SSL的方式可参考:通过客户端连接TaurusDB。 使用JDBC连接时使用SSL的方式可参考:通过JDBC连接MySQL数据库。 父主题:
认开启SSL(如需关闭可参考:设置SSL数据加密),客户业务使用时可以在客户端自行选择是否使用SSL。 使用mysql client连接时使用SSL的方式可参考:通过客户端连接TaurusDB。 使用JDBC连接时使用SSL的方式可参考:通过JDBC连接TaurusDB实例。 父主题:
c=4,那么可以用到完整的索引。这种情况可能会在字段冗余设计(反范式)时出现。 推荐使用UNION ALL,减少使用UNION,需要考虑是否需要对数据进行去重。 使用UNION ALL不对数据去重,由于少了排序操作,速度快于使用UNION,如果业务没有去重的需求,优先使用UNION ALL。 在代码中实现分页查询逻辑
c=4,那么可以用到完整的索引。这种情况可能会在字段冗余设计(反范式)时出现。 推荐使用UNION ALL,减少使用UNION,需要考虑是否需要对数据进行去重。 使用UNION ALL不对数据去重,由于少了排序操作,速度快于使用UNION,如果业务没有去重的需求,优先使用UNION ALL。 在代码中实现分页查询逻辑