检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
慢日志显示SQL语句扫描行数为0 场景描述 查询慢日志中记录SQL执行65秒,但是扫描行数为0。 原因分析 被中断的查询超过慢日志设置阈值也会记录慢日志,但是所记录的扫描行数为0。客户JDBC连接设置了查询超时: 解决方案 优化SQL或者将socketTimeout设置合理值。 父主题:
SQL诊断结果中记录的行数远小于慢日志中的扫描行数 场景描述 RDS for MySQL实例在DAS界面执行SQL诊断时,SQL语句诊断结果中执行计划记录的行数远小于慢SQL日志中的扫描行数。 原因分析 在查询优化器决定使用全表扫描的方式对某个表执行查询的时候,执行计划的rows
MySQL支持跨越256字节的扩展,支持对任何长度的varchar类型的字段进行在线扩展操作。 支持的RDS for MySQL版本 建议您使用最新小版本的实例在线扩展varchar类型字段。更多操作,详见升级内核小版本。 表1 在线扩展varchar类型字段支持的版本 varchar类型字段长度 RDS for
分析对应时间段该实例的慢日志,该SQL执行快时其扫描行数为百万级,当SQL执行慢时其扫描行数为千万级,与业务确认该表短期内并无大量数据插入,因此推断执行慢是因为未走索引或选错索引。且通过EXPLAIN查看该SQL的执行计划确实是全表扫描。 图2 慢日志 在实例上对该表执行SHOW INDEX
InnoDB逻辑读速率 登录实例,查看实话会话,发现大量会话在执行SELECT COUNT(*)。 EXPLAIN确认该SQL的执行计划,发现走全表扫描且单条扫描行数在35万+,其并未走索引。 进一步查看该表的表结构,发现该表仅对字段“is_deleted”添加了一个索引“IDX_XX_USER
Access pattern字段解释 字段 说明 Index scans ratio 索引扫描/序列扫描的比率。 Index scans 每秒索引扫描次数。 Sequential scans 每秒顺序扫描次数。 表4 DML activity字段解释 字段 说明 Tuples inserted
Access pattern字段解释 字段 说明 Index scans ratio 索引扫描/序列扫描的比率。 Index scans 每秒索引扫描次数。 Sequential scans 每秒顺序扫描次数。 表8 DML activity字段解释 字段 说明 Tuples inserted
长的SQL语句)。本文介绍导致慢SQL的原因和解决方案。 SQL异常 原因及现象 SQL异常的原因很多,例如库表结构设计不合理、索引缺失、扫描行数太多等。 您可以在控制台的慢日志页面,下载并查看执行缓慢的SQL,慢SQL的执行耗时等信息。具体操作,请参见查看或下载慢日志。 解决方案
长的SQL语句)。本文介绍导致慢SQL的原因和解决方案。 SQL异常 原因及现象 SQL异常的原因很多,例如库表结构设计不合理、索引缺失、扫描行数太多等。 您可以在控制台的慢日志页面,下载并查看执行缓慢的SQL,慢SQL的执行耗时等信息。具体操作,请参见查看或下载慢日志。 解决方案
缺点:备库或者主库发生故障(底层或其他原因),在故障恢复前,会阻塞写入操作,可用性较低;同时,同步复制的开销较大,性能较异步模式低。 对数据库在线时间要求较高的业务,建议选择“异步”模式。 对数据一致性要求极高且能容忍写入操作被阻塞的业务,建议选择“同步”模式。 写入操作指非SELECT操作,如DDL和DML等。
RDS(Relational Database Service,简称RDS)是一种基于云计算平台的即开即用、稳定可靠、弹性伸缩、便捷管理的在线云数据库服务。 云图说 立即使用 成长地图 由浅入深,带您玩转RDS 云数据库 RDS for MySQL 云数据库 RDS for PostgreSQL
其他使用问题 慢日志显示SQL语句扫描行数为0 SQL诊断结果中记录的行数远小于慢日志中的扫描行数 RDS for MySQL慢日志里面有毫秒级别的SQL 查看RDS存储空间使用量 错误日志报错The table is full 审计日志上传策略说明 自增字段取值 表的自增AUTO_INCREMENT初值与步长
请参见查看性能指标。 创建只读实例专门负责查询。减轻主实例负载,分担数据库压力。 多表关联查询时,关联字段要加上索引。 尽量避免用select*语句进行全表扫描,可以指定字段或者添加where条件。 父主题: 性能资源类
于可扩展性和标准的符合性,被业界誉为“最先进的开源数据库”。云数据库 RDS for PostgreSQL面向企业复杂SQL处理的OLTP在线事务处理场景,支持NoSQL数据类型(JSON/XML/hstore),支持GIS地理信息处理,在可靠性、数据完整性方面有良好声誉,适用于
什么是云数据库RDS 云数据库RDS(Relational Database Service,简称RDS)是一种基于云计算平台的稳定可靠、弹性伸缩、便捷管理的在线云数据库服务。云数据库RDS支持以下引擎: MySQL PostgreSQL SQL Server MariaDB 云数据库RDS服务具有
说明 监控项异常的处理建议 案例 CPU使用率 (%) 该指标用于统计测量对象的CPU使用率。 评估业务SQL的执行计划,添加索引避免全表扫描。 扩容CPU规格,满足计算型业务需求。 RDS for MySQL CPU使用率高的问题处理 内存使用率 (%) 该指标用于统计测量对象的内存使用率。
测试方法 RDS for SQL Server是基于华为云平台的,完全兼容微软SQL Server的在线关系型数据库服务。相对于开源社区版数据库,提供更高安全性、稳定性和高性能,默认提供主备架构,并配备完善的备份、恢复、监控和迁移等方案。支持包年/包月和按需两种付费方式。 测试环境
p5的慢SQL。 图3 慢SQL数量排行Top5 在“慢日志明细”列表中查看慢日志信息。 通过SQL语句、数据库、客户端、用户、执行耗时和扫描行筛选出需要显示的慢日志明细。 单击“导出”,导出当前慢日志列表信息。 单击“查看导出列表”,在弹窗中查看历史导出记录。 图4 慢日志信息
例的CPU和内存规格。 多表关联查询时,关联字段要加上索引。 可以指定字段或者添加where条件进行查询,避免用select*语句进行全表扫描。 父主题: 性能调优
state_duration DESC limit 10; 通过查询pg_stat_user_tables,排查数据库中存在的大量的全表扫描的表以及对应的SQL。 执行如下SQL获取存在大量全表扫描的表: select * from pg_stat_user_tables order by seq_tup_read