检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
功能介绍 社区MySQL的LIMIT(N)/OFFSET(P)的SELECT语句,引擎层返回所有满足WHERE条件的行给SQL层处理,SQL丢弃OFFSET对应的P行,返回N行数据。当查询二级索引需要访问主表列的时候,引擎层还会先返回表获取所有需要的列信息。对于OFFSET的P远
GaussDB(for MySQL)数据库实例支持的最大数据连接数是多少 GaussDB(for MySQL)服务对此未做限制,取决于数据库引擎参数的默认值和取值范围,例如GaussDB(for MySQL)引擎的max_connections和max_user_connections参数,用户可在参数模板自定义。
索引长度限制导致修改varchar长度失败 场景描述 执行alter table修改表结构失败,报错如下: Specified key was too long; max key length is 3072 bytes 原因分析 在“innodb_large_prefix”设置
对于千万或亿级的超大表如何高效写入数据或创建索引 大表高效写入数据的方法 对于千万或亿级大数据量的表,建议使用如下方法提升数据写入效率。 删除不必要的索引。 更新数据时候,同时会更新索引数据。对于大数据量的表,避免创建大量的索引,影响更新速度。请根据业务评估,删除不必要的索引。 插入多条数据时,尽量选择批量插入。
复杂查询造成磁盘满 场景描述 主机或只读节点偶尔出现磁盘占用高或磁盘占用满,其他只读节点磁盘空间占用正常。 原因分析 MySQL内部在执行复杂SQL时,会借助临时表进行分组(group by)、排序(order by)、去重(distinct)、Union等操作,当内存空间不够时,便会使用磁盘空间。
使用mysqldump导出大表的注意事项 在使用mysqldump导出数据时,倘若添加–q(--quick) 参数时,select出来的结果将不会存放在缓存中,而是直接导出到标准输出中。如果不添加该参数,则会把select的结果放在本地缓存中,然后再输出给客户端。 如果只是备份小
业务死锁导致响应变慢 场景描述 14点~15点之间数据库出现大量行锁冲突,内核中大量update/insert会话在等待行锁释放,导致CPU使用率达到70%左右,数据库操作变慢。 查看CES指标行锁等待个数、MDL锁数量,下图仅供参考: 发生死锁的表: ********* 1. row
GaussDB(for MySQL)跨区域内网能访问吗 跨区域内网默认不能访问,不同区域的云服务之间内网互不相通。您可以通过云连接或者VPN打通网络实现内网访问。 云连接:对于不同区域的VPC,不区分是否同一账号,都可以互连,跨区域连接实现全球云上网络。具体请参见跨区域VPC互连。
冷热数据问题导致SQL执行速度慢 场景描述 从自建MySQL或友商MySQL迁移到云上GaussDB(for MySQL)实例,发现同一条SQL语句执行性能远差于原数据库。 原因分析 同一条SQL语句在数据库中执行第一次和第二次可能会性能差异巨大,这是由数据库的buffer_pool机制决定的:
注意事项 并行查询特性当前处于公测阶段,建议在测试环境使用。 云数据库GaussDB(for MySQL)的引擎版本需要为MySQL 8.0.22及以上。 只读节点和主节点均支持并行查询,由于并行查询对计算资源(CPU、内存等)比较消耗,考虑到实例稳定性,云数据库GaussDB(for
分区级MDL锁 在MySQL社区版中,分区表的数据访问操作(DML)和分区维护操作(DDL)会互相阻塞,这意味着分区维护只能在业务低峰期进行。然而,创建和删除分区的操作相对频繁,这在很大程度上限制了分区表的使用。 GaussDB(for MySQL)实现了分区级别的MDL锁,使得
delete大表数据后,再查询同一张表时出现慢SQL 场景描述 一次性删除多条宽列数据(每条记录数据长度在1GB左右),再次对同一张表进行增删改查时均执行缓慢,20分钟左右后恢复正常。 场景案例 假定max_allowed_packet参数大小为1073741824。 创建表。 CREATE
LIST DEFAULT HASH LIST DEFAULT HASH是在同一级别支持两种分区类型:LIST和HASH。前面是普通的LIST分区,不符合LIST分区规则的数据会放在DEFAULT分区里,DEFAULT分区如果有多个分区则根据HASH规则计算。LIST DEFAULT
多表连接场景下DISTINCT优化 对于多表连接+DISTINCT场景,MySQL 8.0需要扫描表连接后的结果,当表连接数量多或基表数据量大时,需要扫描的数据量很大,导致执行效率很低。 为了提升DISTINCT,尤其多表连接下DISTINCT的查询效率,GaussDB(for
通过JDBC连接HTAP标准版实例 本章节介绍通过JDBC连接HTAP标准版实例的方法。 注意事项 目前HTAP实例只支持UTF-8字符集。 前提条件 用户需要具备以下技能: 熟悉计算机基础知识。 了解Java编程语言。 了解JDBC基础知识。 下载官方MySQL或MariaDB的JDBC驱动。
GaussDB(for MySQL)实例计费项 云数据库 GaussDB(for MySQL)的计费项由实例规格费用、存储空间费用、备份空间费用组成。具体内容如表1所示。 表1 计费项说明 计费项 计费因子 适用的计费模式 计费公式 数据库实例(必选) 计费因子:vCPU、内存和节点数量。
自增字段值跳变的原因 数据表中的自增字段取值不是连续的,自增值跳变。 出现表中的自增字段取值不连续的情况,可能原因有以下几种: 初值与步长问题,步长不为1会导致自增字段取值不连续。 mysql> show variables like 'auto_inc%'; +-------
SQL类 建表时timestamp字段默认值无效 索引长度限制导致修改varchar长度失败 delete大表数据后,再查询同一张表时出现慢SQL 更新emoji表情数据报错Error 1366 存储过程和相关表字符集不一致导致执行缓慢 报错ERROR [1412]的解决方法 存在外键的表无法删除
性能测试 如下SQL语句为Q1,访问主表且无谓词条件。 mysql> EXPLAIN SELECT * FROM lineitem LIMIT 10000000,10; +----+-------------+----------+------------+------+----
存储过程和相关表字符集不一致导致执行缓慢 场景描述 GaussDB(for MySQL)存储过程执行很慢,处理少量数据耗时1min以上,而单独执行存储过程中的SQL语句却很快。 原因分析 存储过程和相关表、库的字符集不一致,导致查询结果存在大量字符转换,从而执行缓慢。 排查过程: