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

推荐订阅源

C
CXSECURITY Database RSS Feed - CXSecurity.com
Stack Overflow Blog
Stack Overflow Blog
月光博客
月光博客
T
Threat Research - Cisco Blogs
小众软件
小众软件
有赞技术团队
有赞技术团队
酷 壳 – CoolShell
酷 壳 – CoolShell
Apple Machine Learning Research
Apple Machine Learning Research
C
Cyber Attacks, Cyber Crime and Cyber Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Tailwind CSS Blog
Cisco Talos Blog
Cisco Talos Blog
V
V2EX
博客园 - 【当耐特】
C
Cybersecurity and Infrastructure Security Agency CISA
Hugging Face - Blog
Hugging Face - Blog
The Cloudflare Blog
The Last Watchdog
The Last Watchdog
Simon Willison's Weblog
Simon Willison's Weblog
T
Threatpost
S
Secure Thoughts
O
OpenAI News
P
Proofpoint News Feed
S
SegmentFault 最新的问题
Forbes - Security
Forbes - Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Application and Cybersecurity Blog
Application and Cybersecurity Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Last Week in AI
Last Week in AI
宝玉的分享
宝玉的分享
Scott Helme
Scott Helme
T
Tenable Blog
A
Arctic Wolf
L
LINUX DO - 热门话题
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
www.infosecurity-magazine.com
www.infosecurity-magazine.com
V
Visual Studio Blog
Hacker News: Ask HN
Hacker News: Ask HN
Hacker News - Newest:
Hacker News - Newest: "LLM"
腾讯CDC
博客园 - Franky
WordPress大学
WordPress大学
Know Your Adversary
Know Your Adversary
博客园_首页
雷峰网
雷峰网
IT之家
IT之家
PCI Perspectives
PCI Perspectives
L
LINUX DO - 最新话题
H
Heimdal Security Blog

博客园 - 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安装在操作系统中,所以也受操作系统限制