检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
冷热数据问题导致SQL执行速度慢 场景描述 从自建MySQL或友商MySQL迁移到云上GaussDB(for MySQL)实例,发现同一条SQL语句执行性能远差于原数据库。 原因分析 同一条SQL语句在数据库中执行第一次和第二次可能会性能差异巨大,这是由数据库的buffer_pool机制决定的:
GaussDB(for MySQL)如何设置表名大小写敏感 表名大小写敏感可以通过在管理控制台或API创建数据库实例时指定。 已创建完成的实例不支持修改表名大小写敏感。 通过管理控制台的购买实例页面设置是否区分表名大小写。 图1 数据库设置 通过API创建数据库实例设置“lowe
GaussDB(for MySQL)只读节点升主节点 GaussDB(for MySQL)是一个多节点的实例,其中一个节点是主节点(Master),其他节点为只读节点。除了因系统故障自动切换外,对于用于高可用演练,或者需指定某个节点为主节点的场景,您也可以手动切换,指定一个只读节点为新的主节点。
测试方法 云数据库 GaussDB(for MySQL)是最新一代企业级高扩展海量存储云原生数据库,完全兼容MySQL。采用计算存储分离架构,128TB的海量存储,数据0丢失,既拥有商业数据库的高可用和性能,又具备开源低成本效益。 测试环境 GaussDB(for MySQL)测试环境如下:
GaussDB(for MySQL)密码过期策略 GaussDB(for MySQL)8.0版本支持通过设置全局变量“default_password_lifetime”来控制用户密码的默认过期时间。 参数“default_password_lifetime”的值为N,表示密码N
注意事项 并行查询特性当前处于公测阶段,建议在测试环境使用。 云数据库GaussDB(for MySQL)的引擎版本需要为MySQL 8.0.22及以上。 只读节点和主节点均支持并行查询,由于并行查询对计算资源(CPU、内存等)比较消耗,考虑到实例稳定性,云数据库GaussDB(for
delete大表数据后,再查询同一张表时出现慢SQL 场景描述 一次性删除多条宽列数据(每条记录数据长度在1GB左右),再次对同一张表进行增删改查时均执行缓慢,20分钟左右后恢复正常。 场景案例 假定max_allowed_packet参数大小为1073741824。 创建表。 CREATE
多表连接场景下DISTINCT优化 对于多表连接+DISTINCT场景,MySQL 8.0需要扫描表连接后的结果,当表连接数量多或基表数据量大时,需要扫描的数据量很大,导致执行效率很低。 为了提升DISTINCT,尤其多表连接下DISTINCT的查询效率,GaussDB(for
GaussDB(for MySQL)实例计费项 云数据库 GaussDB(for MySQL)的计费项由实例规格费用、存储空间费用、备份空间费用组成。具体内容如表1所示。 表1 计费项说明 计费项 计费因子 适用的计费模式 计费公式 数据库实例(必选) 计费因子:vCPU、内存和节点数量。
支持审计的GaussDB(for MySQL)关键操作列表 通过云审计服务,您可以记录与GaussDB(for MySQL)实例相关的操作事件,便于日后的查询、审计和回溯,支持的主要操作事件如表1所示。 表1 云审计服务支持的GaussDB(for MySQL)操作列表 操作名称
使用utf8mb4字符集存储emoji表情到GaussDB(for MySQL)实例 如果要实现存储emoji表情到GaussDB(for MySQL)实例,需要如下几方面统一使用或者支持utf8mb4字符集。 客户端:保证客户端输出的字符串的字符集为utf8mb4。 应用到GaussDB(for
性能测试 如下SQL语句为Q1,访问主表且无谓词条件。 mysql> EXPLAIN SELECT * FROM lineitem LIMIT 10000000,10; +----+-------------+----------+------------+------+----
SQL类 建表时timestamp字段默认值无效 索引长度限制导致修改varchar长度失败 delete大表数据后,再查询同一张表时出现慢SQL 更新emoji表情数据报错Error 1366 存储过程和相关表字符集不一致导致执行缓慢 报错ERROR [1412]的解决方法 存在外键的表无法删除
热点行更新 数据库中频繁被增删改查的记录被称为热点行。热点行出现的场景包括秒杀抢购、演唱会门票预订、热门路线火车票预定等等。由于事务对数据更新时,需要持有行锁,同一时刻内只能有一个事务更新热点行,其他事务只能等待行锁释放后继续执行,热点行更新的性能存在瓶颈,并且传统的分库分表策略在性能提升方面并不会有太大帮助。
存储过程和相关表字符集不一致导致执行缓慢 场景描述 GaussDB(for MySQL)存储过程执行很慢,处理少量数据耗时1min以上,而单独执行存储过程中的SQL语句却很快。 原因分析 存储过程和相关表、库的字符集不一致,导致查询结果存在大量字符转换,从而执行缓慢。 排查过程:
非阻塞DDL 用户在执行DDL操作的时候,如果目标表存在未提交的长事务或大查询,DDL将持续等待获取MDL-X锁。在GaussDB(for MySQL)中,由于MDL-X锁具有最高优先级,DDL在等待MDL-X锁的过程中,将阻塞目标表上所有的新事务,这将导致业务连接的堆积和阻塞,
基本使用类 查看GaussDB(for MySQL)的存储容量 修改库名和修改表名 字符集和字符序的默认选择方式 自增字段值跳变的原因 表的自增AUTO_INCREMENT初值与步长 修改表的自增AUTO_INCREMENT值 自增主键达到上限,无法插入数据 自增字段取值 自增属
执行select * from sys.innodb_lock_waits报错 场景描述 执行如下SQL时,得到的结果不符合预期。 select * from sys.innodb_lock_waits 报错信息如下: 执行失败,失败原因:(conn=14690848) Illegal
GaussDB(for MySQL)实例添加只读节点 操作场景 只读节点用于增强实例主节点的读能力,减轻主节点负载。实例创建成功后,您可以根据业务需要,创建只读节点。 只读节点区分同步节点和异步节点。 同步节点:故障倒换优先级为1,且与主节点性能规格一致的只读节点。为了规避主节点
GaussDB(for MySQL)与其他服务的关系 GaussDB(for MySQL)与其他服务之间的关系,具体表1所示。 表1 与其他服务的关系 相关服务 交互功能 弹性云服务器(ECS) GaussDB(for MySQL)配合弹性云服务器(Elastic Cloud S