检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
联合索引设置不当导致慢SQL的解决办法 场景描述 业务侧云数据库GaussDB(for MySQL)实例上以往执行耗时8秒的查询,在11:00后耗时超过30秒。 原因分析 查看查询变慢对应的时间段中,实例CPU监控指标并无飙升情况且使用率一直都较低,因此排除了CPU冲高导致查询变慢的可能。
长事务产生大量临时表导致内存超限的解决办法 场景描述 云数据库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
possible_keys:指出MySQL能使用哪个索引在表中找到记录,查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询使用。 key:表示MySQL实际决定使用的键(索引),如果没有选择索引,键是NULL。要想强制MySQL使用或忽视possible_keys列中的索引,在查询中使用FORCE INDEX、USE
基本使用类 查看GaussDB(for MySQL)的存储容量 修改库名和修改表名 字符集和字符序的默认选择方式 自增字段值跳变的原因 表的自增AUTO_INCREMENT初值与步长 修改表的自增AUTO_INCREMENT值 自增主键达到上限,无法插入数据 自增字段取值 自增属
使用规范 GaussDB(for MySQL)数据库权限规范 GaussDB(for MySQL)库表设计规范 GaussDB(for MySQL)索引设计规范 GaussDB(for MySQL)SQL使用规范 父主题: 使用数据库
L(如需关闭可参考:设置SSL数据加密),客户业务使用时可以在客户端自行选择是否使用SSL。 使用mysql client连接时使用SSL的方式可参考:通过客户端连接GaussDB(for MySQL)。 使用JDBC连接时使用SSL的方式可参考:通过JDBC连接MySQL数据库。
使用示例 设置参数: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日志来确定是否存在运行缓慢
使用方法 您可以通过“rds_in_predicate_conversion_threshold”参数设置IN谓词转子查询功能。 该参数值默认为0, 表示关闭该功能。如果您需要使用,则需要联系客服人员开启。 表1 参数说明 参数名称 级别 描述 rds_in_predicate_
使用前必读 概述 调用说明 终端节点 约束与限制 基本概念
OFFSET下推优化开关。 OFF:关闭LIMIT OFFSET下推优化开关。 除了使用上述特性开关来控制OFFSET下推功能生效或者不生效,还可以使用HINT来实现。 OFFSET_PUSHDOWN(table_name):生效OFFSET下推优化。 NO_OFFSET_PUS
c=4,那么可以用到完整的索引。这种情况可能会在字段冗余设计(反范式)时出现。 推荐使用UNION ALL,减少使用UNION,需要考虑是否需要对数据进行去重。 使用UNION ALL不对数据去重,由于少了排序操作,速度快于使用UNION,如果业务没有去重的需求,优先使用UNION ALL。 在代码中实现分页查询逻辑
Memory)。 场景描述 GaussDB(for MySQL)实例在16:30分内存使用率突增,触发OOM后实例重启。 原因分析 查看内存利用率监控指标,实例的内存使用率在16:30左右率突增,触发OOM后实例重启,内存使用率骤降。 图1 内存利用率 查看该时间段慢SQL数监控指标,确认该时间段慢SQL数量突增。
数据库基本使用 主备机分别执行MATCH AGAINST语句后结果不一致的原因 使用INSTANT方式快速添加列 使用LOAD DATA导入本地数据 对于千万或亿级的超大表如何高效写入数据或创建索引 GaussDB(for MySQL)超大表删除索引有哪些风险
使用LOAD DATA导入本地数据 此章节介绍如何通过LOAD DATA将本地数据导入GaussDB(for MySQL)。 语法 LOAD DATA LOCAL INFILE 'file_name' [REPLACE | IGNORE] INTO TABLE
使用数据库 使用规范 数据库管理 数据库账号管理(非管理员权限)
只读节点会将参数sql_replica_on参数设置为on以禁止增删改请求。 解决方案 请检查写业务的客户端连接IP是否正确,建议连接实例的浮动IP或Proxy的读写IP。 父主题: 基本使用类
使用root账号连接数据库失败 场景描述 使用root账号连接数据库失败。 原因分析 查看内核日志error.log,确认是否有拒绝连接的日志。 查看root权限,发现有两个root账号,其中一个root限制host必须是IP必须是192开头。 解决方案 联系华为云客服协助删除多余的root账号。
使用GaussDB(for MySQL)的SQL限流 操作场景 SQL限流功能主要解决用户某类突发的并发过高的SQL导致GaussDB(for MySQL)实例不稳定的问题。 约束限制 满足如下版本要求的GaussDB(for MySQL)可以使用SQL限流功能。 内核版本大于等于2