惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Darknet – Hacking Tools, Hacker News & Cyber Security
NISL@THU
NISL@THU
S
Securelist
O
OpenAI News
S
Security Affairs
Cyberwarzone
Cyberwarzone
T
Threatpost
Simon Willison's Weblog
Simon Willison's Weblog
The Last Watchdog
The Last Watchdog
L
LINUX DO - 最新话题
C
Cisco Blogs
PCI Perspectives
PCI Perspectives
SecWiki News
SecWiki News
S
Secure Thoughts
GbyAI
GbyAI
I
Intezer
AWS News Blog
AWS News Blog
F
Fortinet All Blogs
I
InfoQ
阮一峰的网络日志
阮一峰的网络日志
Google Online Security Blog
Google Online Security Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
A
About on SuperTechFans
S
Schneier on Security
P
Proofpoint News Feed
雷峰网
雷峰网
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
小众软件
小众软件
H
Heimdal Security Blog
Microsoft Security Blog
Microsoft Security Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
T
The Exploit Database - CXSecurity.com
T
Threat Research - Cisco Blogs
V
V2EX
L
Lohrmann on Cybersecurity
Security Latest
Security Latest
A
Arctic Wolf
Apple Machine Learning Research
Apple Machine Learning Research
H
Hacker News: Front Page
Cisco Talos Blog
Cisco Talos Blog
Webroot Blog
Webroot Blog
T
Tenable Blog
MyScale Blog
MyScale Blog
博客园 - 司徒正美
S
SegmentFault 最新的问题
Y
Y Combinator Blog
腾讯CDC
Hacker News: Ask HN
Hacker News: Ask HN
M
MIT News - Artificial intelligence
G
GRAHAM CLULEY

博客园 - LCX测试小姐姐

apifox 批量导入和运行项目 Jmeter 与 阿里云 性能测试PTS 作为python自动化测试 推送阿里的通义灵码,大大提高效率 redis测试点 性能测试过程中优化-3: 性能测试过程中优化-2: jmeter 把响应结果数据写入指定txt文件 Elasticsearch 分词功能 Elasticsearch 常用功能 Cookie、session、token、sign鉴权 性能测试过程中优化-1: RocketMQ jmeter性能测试实例3解析--性能瓶颈分析过程 pip freeze >requirements.txt python 生成 .exe文件、调用.exe文件 jmeter性能测试实例2解析--linux环境 memcache常用命令 memcache与redis关系与区别 性能测试中TPS值上不去分析原因及满足性能指标 mysql之测试工程师必会基础知识
MySql常见性能查询、调优语句和慢sql
LCX测试小姐姐 · 2022-07-02 · via 博客园 - LCX测试小姐姐
  •  MySql常见性能查询、调优语句
-- 查询慢查询次数
show status LIKE 'slow_queries';

-- 查看慢查询
show variables LIKE 'long_query_time';

-- --设置慢查询时间
setlong_query_time=1;

-- 开启慢日志
set GLOBAL_slow_query_log=ON;

-- 使用explain来分析sql语句实现优化
EXPLAIN 具体sql语句;

-- 查看当前服务器配置的最大连接数
show variables LIKE 'max_connection';

-- 查看当前已使用最大连接数
show GLOBAL status like '%max_used_connections%'

-- 设置最大连接数
set GLOBAL MAX_CONNECTIONS=10000;
-- 查询是否有锁
show OPEN TABLES where In_use > 0;
  • 慢sql的原因

1、查询的表--没加索引

查询的条件字段没有索引,导致全表扫描。这种在数据量比较少时,如低于十万级不会觉得慢,但当表中数据量达到或超过十万级时,就会体现出来,查询时间特别慢

2、查询的索引,无效

查询条件没有索引字段。

查询条件使用or,选择式过滤条件,导致索引无效

查询条件使用Like,且从头部开始模糊匹配,致索引无效

查询条件不满足复合索引的最左匹配原则,致索引无效

查询条件,索引列使用了隐藏类型转换,致索引无效

查询条件,索引列使用了算术运算+、- 、...致索引无效

查询条件,索引列使用了逻辑运算(!=、<>、is null、is not null)致索引无效

3、查询使用了--临时表

临时表可能不用,但是回表查询(一次查询不满足 就把这些结果存在临时表,还需要利用查询结果再查一次)

4、join或子查询太多

有些场景复杂,关联的表越多,时间自然就越长;一般关联不建议超过3个,且数据量小的表放左边,大的放右边。

5、查询结果数据量太大

第1种你直查的表数据量太大,千万级。即使那了索引,索引文件也会很大,深度很深,查询就会慢。解决方法分表分区。

第2种联表笛卡尔积量太大。解决方法explain进行sql分析优化

6、锁竞争

现在Mysql的表一般都是InnoDB存储引擎,该引擎是行锁,每次锁定一行。若一个事务在操作一行数据,会锁定该行数据,其它事务直到前一个事务操作完成才能操作该行数据;若多个事务等待时,前一事务结束,等待的事务就会竞争抢锁,sql性能就会很慢了

7、limit分页--太深

查询需要偏移一定量数据时,一般会用Limit,偏移量大时sql执行会很慢。因为偏移量会分页读取到buffpool中,数据量大,占用的空间大,而这个空间大小是配置的,一般不会很大,所以,导致了慢sql

8、配置参数--不合理

数据库中有些非常重要的参数,例多很带有buff、cache、size、length、max、min、limit等字样的配置参数。都是直接关系数据库性能的。若都是默认值,硬件条件再好性能也发挥不了作用。

9、频繁刷脏页

脏页,是内存数据页和磁盘数据页不一致。一般发数据更新操作中。更新数据,要先把数据读取出来然后再内存中更新,最后生成日志文件,再放日志文件,实现表数据更新。若数据量大,buffpool写满或者后续生成的日志文件 写满,都会导致这个操作过程变慢。

解决方法:建议少批量修改,多次提交

10、系统资源--不够用

数据库是用来存储数据,频繁进行磁盘操作,所以要选择磁盘IO性能比较好的机器作为数据库服务。

数据库还要经常进行数据交换,所以要有足够的内存。

mysql安装在操作系统中,所以也受操作系统限制