当数据库查询速度过慢时,从哪几个方面排查解决?
影响数据库查询速度的四个因素
风险分析
QPS(Queries Per Second):每秒查询率,是指一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
TPS(TransactionsPerSecond):事务数/秒,它是软件测试结果的测量单位。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。
效率低下的SQL语句会带来超高的QPS与TPS:
- 大量的并发:数据连接数被占满(max_connection默认100,一般把连接数设置得大一些)。并发量:同一时刻数据库服务器处理的请求数量。
- 超高的CPU使用率:CPU资源耗尽会出现宕机。
- 磁盘IO性能下降:大量消耗磁盘性能的计划任务。解决:更换磁盘设备、调整计划任务、做好磁盘维护。
网卡流量
如何避免无法连接数据库的情况:
- 减少从服务器的数量(从服务器会从主服务器复制日志)
- 进行分级缓存(避免前端大量缓存失效)
- 避免使用select * 进行查询
- 分离业务网络和服务器网络
磁盘IO
大表中记录行数巨大,单表超千万,表数据文件巨大,超过10个G。
大表带来的问题:
- 很难在短时间内过滤出需要的数据
- 修改表结构需要长时间的锁表,会造成长时间的主从延迟(‘480秒延迟’)
解决方法:
把一张大表分成多个小表。
服务器硬件
MySQL体系结构分三层:客户端、服务层、存储引擎。
MySQL是插件式的存储引擎,不同的存储引擎,只要符合mysql存储引擎的接口就可以使用,甚至可以开发自己的存储引擎。
MySQL的存储引擎是针对表的,不是针对库的。也就是说在一个数据库中可以使用不同的存储引擎,但是一般不建议这样做。
MySQL5.5及之后版本默认的是InnoDB存储引擎。
InnoDB存储引擎的特性
特性一:支持事务和外键
支持事务所需要的两个特殊日志类型:Redo Log 和Undo Log。
- Undo日志记录某数据被修改前的值,可以用来在事务失败时进行rollback。实现事务的持久性(已提交的事务)。
- Redo日志记录某数据块被修改后的值,可以用来恢复未写入data file的已成功事务更新的数据。未提交的事务,独立于表空间,需要随机访问,可以存储在高性能io设备上。
特性二:支持行级锁
行级锁可以最大程度地支持并发。
锁的主要作用是管理共享资源的并发访问,用于实现事务的隔离性。
性能优化顺序
SQL语句优化–>数据库结构优化–>文件系统优化,提高磁盘读写效率–>服务器硬件升级
当数据库查询速度过慢时,从哪几个方面排查解决?相关推荐
- mysql500万数据查询速度_是什么影响了数据库查询速度
一.什么影响了数据库查询速度 1.1 影响数据库查询速度的四个因素 1.2 风险分析 QPS:Queries Per Second意思是"每秒查询率",是一台服务器每秒能够相应的查 ...
- server sql top速度变慢解决方案_SQL Server数据库查询速度慢的原因和解决方法
SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列 ...
- 数据库-SQL Server数据库查询速度慢(连接超时)原因及优化方法
SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列 ...
- mysql 查看表v空间自增涨_MySQL性能管理及架构设计(一):什么影响了数据库查询速度、什么影响了MySQL性能
一.什么影响了数据库查询速度 1.1 影响数据库查询速度的四个因素 1.2 风险分析 QPS:Queries Per Second意思是"每秒查询率",是一台服务器每秒能够相应的查 ...
- MySQL性能管理及架构设计(一):什么影响了数据库查询速度、什么影响了MySQL性能...
一.什么影响了数据库查询速度 1.1 影响数据库查询速度的四个因素 1.2 风险分析 QPS:Queries Per Second意思是"每秒查询率",是一台服务器每秒能够相应的查 ...
- 什么影响了数据库查询速度
1.1 影响数据库查询速度的四个因素 1.2 风险分析 QPS: QueriesPerSecond意思是"每秒查询率",是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器 ...
- sqlserver2014补丁速度慢_SQL Server数据库查询速度慢的原因和解决方法
问 SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计 ...
- SQL Server数据库查询速度慢的原因和解决方法
SQL Server数据库查询速度慢的原因和解决方法 参考文章: (1)SQL Server数据库查询速度慢的原因和解决方法 (2)https://www.cnblogs.com/MyChange/p ...
- 提高数据库查询速度的几个思路
提高数据库查询速度的几个思路 : 1.缓存,在持久层或持久层之上做缓存; 2.数据库表的大字段剥离,保证单条记录的数据量很小; 3.恰当地使用索引; 4.必要时建立多级索引; 5.分析Oracle ...
- MySQL 查询速度慢与性能差的原因与解决方法
MySQL 查询速度慢与性能差的原因与解决方法 更新时间:2019年09月26日 18:05:47 作者:Microtiger 随着网站数据量与访问量的增加,MySQL 查询速度慢与性能差的问题就日渐 ...
最新文章
- scala-04For与Function进阶实战、Lazy的使用
- 获取某一日期所在月份的第一天日期或最后一天日期
- Tomcat启动报错 Could not reserve enough space for object heap
- python 批量创建变量_Python批量生成和调用变量
- ps里面怎么插入流程图_学会这3个方法,5分钟能绘制出好看又高级的流程图
- 三、规则组织的衍生组织——经山形组织数学模型的建立
- 无处不在的container_of
- 论文浅尝 - AAAI2020 | 通过句子级语义匹配和答案位置推断改善问题生成
- 从GPU到3D渲染:游戏图形渲染技巧与性能优化
- c语言 一元多项式乘法,[内附完整源码和文档] 基于C语言实现的一元多项式的计算...
- 三星U-Boot-1.1.6源码分析lowlevel_init.S (board\samsung\smdk6410)
- sydney airport hotel recommendations
- SQL Server系统数据库– msdb数据库
- WRK-HTTP压力测试工的下载安装与使用方法
- 《应用时间序列分析:R软件陪同》——1.3 R软件入门
- 世界各个国家或地区国际域名缩写(Countries and Regions)
- php多进程兑换电影票,通过读写同一个文件锁来解决并发!
- Win10 网络连接处空白什么都没有,电脑无法上网
- java oracle spool,Oracle 数据导出工具 Spool | 学步园
- 在word中添加公式并对齐