检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
定义。 对于二级分区,如果要省略分区定义,需要所有的子分区都不能给出定义,否则都要指定分区定义。 语法 创建一个或多个HASH-KEY分区表,其中每个分区可能有一个或一个以上的子分区。 CREATE TABLE [ schema. ]table_name table_definition
自增属性AUTO_INCREMENT为何未在表结构中显示 场景描述 创建表时,添加了自增属性AUTO_INCREMENT,执行show create table,自增属性未在表结构中显示。 创建表: 执行show create table xxx,未显示自增属性AUTO_INCREMENT:
包年/包月转按需 创建一个包年/包月云数据库GaussDB(for MySQL)后,您可以将该云数据库的计费模式转为按需计费,回收部分成本,同时更加灵活地按需使用云数据库。 假设用户于2023/04/18 15:29:16购买了一个包年/包月的云数据库GaussDB(for My
功能介绍 当一个事务长时间空闲且不提交,执行回滚操作时,会对数据库的资源和性能造成损耗。如果有大量的空闲事务长期不执行也不提交,在业务高峰期的时候发生回滚,性能损耗会较为严重。GaussDB(for MySQL)支持主动终止空闲事务,可针对不同类型的事务用不同的参数进行控制,当空闲事务超时后会被自动的回滚并断开连接。
MySQL)多主实例简介 GaussDB(for MySQL)提供了多主版实例,在一个实例中通过多个读写节点来实现多写多读。多主版实例包含最少2个最多63个读写节点,没有只读节点。 在多主版实例中,读写节点通过共享元数据的方式对实例的元数据进行统一管理,用户可以通过数据库代理地址访问整个GaussDB(for
Statement Outline MySQL数据库实例运行过程中,SQL语句的执行计划经常会发生改变,导致数据库不稳定。GaussDB(for MySQL) 设计了一套利用 MySQL Optimizer/Index hint 来稳定执行计划的方法,称为 Statement outline
条件过滤等操作从计算节点向下推送给GaussDB(for MySQL)的分布式存储层的多个节点,并行执行。通过计算下推方法,提升了并行处理能力,减少网络流量和计算节点的压力,提高了查询处理执行效率。 架构 云数据库GaussDB(for MySQL)采用计算与存储分离的架构,以减
网络环境稳定性不足。如网络延时、中断,系统会识别并延时半小时再次执行备份,您也可以及时进行一次手动备份。 系统多任务执行复杂性。如任务等待、中止,系统会识别并延时半小时再次执行备份,您也可以及时进行一次手动备份。 实例状态异常。如实例故障、状态变更中,系统会识别并在状态恢复正常后再次执行备份,您也可以及时进行一次手动备份。
条件过滤等操作从计算节点向下推送给GaussDB(for MySQL)的分布式存储层的多个节点,并行执行。通过计算下推方法,提升了并行处理能力,减少网络流量和计算节点的压力,提高了查询处理执行效率。 工作原理 云数据库GaussDB(for MySQL)采用计算与存储分离的架构,
的任务状态,是否是“待执行”或“待授权”状态。 是,请执行5。 否,请执行6。 单击操作列的“取消”,在弹出框中单击“确定”,取消任务。再次单击操作列的“删除”,在弹框中按照提示输入“DELETE”,单击“确定”,删除任务。 单击操作列的“删除”,在弹出框中按照提示输入“DELETE”,单击“确定”,删除任务。
小的值,因此NULL值总是会插入第一个分区定义里。 每个主分区下的子分区可以看成是一个新的一级的RANGE分区表,因此所有的规则和约束都同一级的RANGE是一样的。 语法 创建一个或多个RANGE-RANGE分区表,其中每个分区可能有一个或一个以上的RANGE类型的子分区。 CREATE
万级,当SQL执行慢时其扫描行数为千万级,与业务确认该表短期内并无大量数据插入,因此推断执行慢是因为未走索引或选错索引。且通过EXPLAIN查看该SQL的执行计划确实是全表扫描。 图2 慢日志 在实例上对该表执行SHOW INDEX FROM检查三个字段的基数,。 图3 查看基数
涉及到复杂SQL语句时,优先参考已有索引进行设计,通过执行explain,查看执行计划,利用索引,增加更多查询限制条件。 使用新的SELECT、UPDATE、DELETE语句时,都需要通过explain查看执行计划中的索引使用情况,尽量避免extra列出现:Using File
能够使用的CPU核数就越多,性能提升的倍数也就越高。 下图是使用CPU多核资源并行计算一个表的count(*)过程的基本原理:表数据进行切块后分发给多个核进行并行计算,每个核计算部分数据得到一个中间count(*)结果,并在最后阶段将所有中间结果进行聚合得到最终结果。具体如下: 图1
能够使用的CPU核数就越多,性能提升的倍数也就越高。 下图是使用CPU多核资源并行计算一个表的count(*)过程的基本原理:表数据进行切块后分发给多个核进行并行计算,每个核计算部分数据得到一个中间count(*)结果,并在最后阶段将所有中间结果进行聚合得到最终结果。具体如下: 图1
查看processlist.log日志,查询到有两个慢SQL与图1中内存增长的时间比较匹配。 图2 查询慢SQL 查看慢查询中的表数据量约90GB,数据行数约10亿行,且通过图2中的执行时间可以看出,两个SQL执行了40~50分钟,跟监控中内存增长的时间基本一致,确定是临时表内存不受控导致。 解决方案
out的最小值。 对于DDL过程中InnoDB层的加表锁超时(行锁不在该考虑范围),其真实超时时间是innodb_lock_wait_timeout和rds_ddl_lock_wait_timeout)的最小值。 使用示例 首先开启一个客户端,执行加锁操作,示例如下。 图1 加锁操作
MySQL)慢日志 操作场景 慢日志用来记录执行时间超过当前慢日志阈值“long_query_time”(默认是10秒)的语句,您可以通过查询慢日志的日志明细、统计分析情况,查找出执行效率低的语句,进行优化。 GaussDB(for MySQL)支持以下执行语句类型: SELECT INSERT
产生死锁。 尽量不使用外键与级联,外键概念在应用层处理。 示例: 学生表中的student_id是主键,那么成绩表中的student_id则为外键。如果更新学生表中的student_id,同时触发成绩表中的student_id更新,则为级联更新。 外键与级联更新适用于单机低并发,不适合分布式、高并发集群。
Hotspot_follower_total_time 当前批次某一个follower的热点行更新事务总时间,单位微秒。 Hotspot_follower_wait_commit_time 在一个批次中follower需要等待leader持久化日志,此时间为当前批次某一个follower等待leader持久化日志的时间,单位微秒。