检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
支持Explain查看并行执行计划多种方式,包括传统Explain、Explain format=tree、Explain format=json等。
功能介绍 云数据库GaussDB(for MySQL)支持了并行执行的查询方式,用以降低分析型查询场景的处理时间,满足企业级应用对查询低时延的要求。并行查询的基本实现原理是将查询任务进行切分并分发到多个CPU核上进行计算,充分利用cpu的多核计算资源来缩短查询时间。
limit 是 Integer 查询记录数。 line_num 否 String 日志单行序列号,第一次查询时不需要此参数,后续分页查询时需要使用,可从上次查询的返回信息中获取。 level 否 String 日志级别,默认为ALL。
解决方案 通过查看慢SQL日志来确定是否存在运行缓慢的SQL查询以及各个查询的性能特征(如果有),从而定位查询运行缓慢的原因。 查询MySQL日志,请参见查看慢日志。 查看华为云GaussDB(for MySQL)实例的CPU使用率指标,协助定位问题。
尽量不要使用负向查询,避免全表扫描。使用负向查询是指使用负向运算符,如:NOT, !=, <>, NOT EXISTS, NOT IN以及NOT LIKE等。 如果使用负向查询,无法利用索引结构做二分查找,只能做全表扫描。 避免对三个表以上执行JOIN连接。
limit 是 Integer 参数解释: 查询记录数。 约束限制: 取值范围: 1-5000。 默认取值: 不涉及。 line_num 否 String 参数解释: 日志单行序列号,第一次查询时不需要此参数,后续分页查询时需要使用,可从上次查询的返回信息中获取。
慢日志显示SQL语句扫描行数为0 场景描述 查询慢日志中记录SQL执行65秒,但是扫描行数为0。 原因分析 被中断的查询超过慢日志设置阈值也会记录慢日志,但是所记录的扫描行数为0。客户JDBC连接设置了查询超时: 解决方案 优化SQL或者将sockTimeOut设置合理值。
接口约束 该接口只可查询任务中心一个月内的异步任务。 job生成后,通常需要数秒之后才能查询到job ID。 调用方法 请参见如何调用API。
如果要查询精确的存储使用量,可以使用管理控制台查询或者连接TaurusDB数据库后,执行show spaceusage;命令查看当前数据使用的存储容量,该值为精确值,非估算值。 通过管理控制台查看存储容量 登录管理控制台。 单击管理控制台左上角的,选择区域和项目。
另外,NDP框架同TaurusDB并行查询进行融合,并进行了页面批量预取的设计,达成执行全流程并行,进一步提升查询执行效率。 图1 NDP工作原理图 使用场景 查询业务能进行下推的场景包主要包括三大类:Projection、Aggregate、Select。
API概览 通过使用TaurusDB接口,您可以使用TaurusDB查询资源配额、设置资源配额、修改资源配额的功能。 类型 说明 查询数据库引擎的版本 获取指定数据库引擎对应的数据库版本信息。 查询数据库规格 获取指定数据库引擎版本对应的规格信息。
图1 内存使用率 原因分析 查看processlist.log日志,查询到有两个慢SQL与图1中内存增长的时间比较匹配。
读请求路由到主实例的场景 如果查询语句被放在事务中,事务请求都会路由到主实例。如果在查询语句前设置set autocommit=0时也当做事务处理路由到主实例。 如果所有只读节点都均异常或只读节点权重为0时,则查询会路由到主实例。
原因分析 查看查询变慢对应的时间段中,实例CPU监控指标并无飙升情况且使用率一直都较低,因此排除了CPU冲高导致查询变慢的可能。
查看数据同步配置 功能介绍 查看数据同步配置。 调用方法 请参见如何调用API。
为了提升DISTINCT,尤其多表连接下DISTINCT的查询效率,TaurusDB在执行优化器中加入了剪枝功能,可以去除不必要的扫描分支,提升查询性能。
另外,NDP框架同GaussDB(for MySQL)并行查询进行融合,并进行了页面批量预取的设计,达成执行全流程并行,进一步提升查询执行效率。 概念 功能上,查询业务能进行下推的场景包主要包括三大类:Projection、Aggregate、Select。
相关API 查询租户的实例配额 查询租户基于企业项目的资源配额 设置租户基于企业项目的资源配额 修改租户基于企业项目的资源配额
支持审计的GaussDB(for MySQL)关键操作列表 通过云审计服务,您可以记录与GaussDB(for MySQL)实例相关的操作事件,便于日后的查询、审计和回溯,支持的主要操作事件如表1所示。
show full processlist; 图1 查询线程 Id:线程ID标识,可通过kill id终止语句。 User:当前连接用户。 Host:显示这个连接从哪个IP的哪个端口上发出。 db:数据库名。