当前位置:网站首页>The SQL response is slow. What are your troubleshooting ideas?
The SQL response is slow. What are your troubleshooting ideas?
2022-07-06 22:21:00 【Tom bomb architecture】
If the interview asks you , perform SQL Slow response , What are your troubleshooting ideas and solutions ? This is a real interview question shared with me by a small partner who went to a certain place to try , Today, I would like to share my thoughts with you .
in addition , I spent it. 1 More than a week , Prepared a copy of 10W Word interview question analysis supporting documents , You can pay attention to my profile of boiling leaves if you want to get it .
1、 Investigation thought
If you execute SQL Slow response , I think there may be the following 4 One reason :
The first 1 One reason : No index or Cause index to fail .
The first 2 One reason : There are too many data in a single table , Cause query bottleneck
The first 3 One reason : Network reasons or the machine load is too high .
The first 4 One reason : Hot data causes single point load imbalance .
Next , I aim at the above situations , Let's talk about my solutions .
2、 Solution
The first 1 In this case : The index is invalid or there is no index
First , Can open MySQL Slow query log , Collect the contents of slow query logs for a period of time , Then find out what took the longest SQL sentence , For these SQL Statement analysis .
For example, you can use the execution plan explain To view the SQL Whether there is a hit index . If you find slow queries SQL No hit index , You can try to optimize these SQL sentence , Guarantee SQL Execute by index . If SQL If there is no way to optimize the structure , Consider adding the corresponding index to the table . We are optimizing SQL Or when adding an index , Must conform to the leftmost matching principle .
The first 2 In this case : There are too many data in a single table , Conditions that cause query bottlenecks . Even if SQL The statement is indexed , The performance is not particularly good . At this time, we need to consider table segmentation . Table segmentation rules are generally divided into two types , One is horizontal segmentation , One is vertical segmentation .
Horizontal segmentation means that a large table with tens of millions of data rows , Split into multiple small tables according to the business PK , These small watches may reach 100 Zhang even 1000 Zhang .
That vertical segmentation means , Combine multiple columns in a single table , According to the business logic, put the columns with high relevance into the same table .
In addition to this sub table , We can also divide the warehouse ,
For example, we have split up 1000 surface , then , Put the suffix 0-100 The tables of are placed in the same database instance , then ,100-200 Put the table of into another database instance , And so on 1000 Table storage 10 Database instances . In this case , We can route requests to different database instances according to the business primary key , Thus, the traffic borne by each database instance is relatively small , To achieve the purpose of improving database performance .
The first 3 In this case : Network reasons or excessive machine load , We can separate reading and writing .
such as MySQL Support the distributed deployment of one master and multiple slaves , We can use the main library only to handle the operation of writing data , Multiple slave libraries are only used to handle read operations . In scenarios with large traffic , You can increase the load capacity of the database by adding slave libraries , So as to improve the overall performance of the database .
The first 4 In this case : Hot data leads to unbalanced load at a single point .
In this case , In addition to adjusting the database itself , You can also increase the cache . Pre store the hot data with frequent queries into the cache , such as Redis、MongoDB、ES etc. , To relieve the pressure of data , So as to improve the response speed of the database .
The above is my view on the implementation SQL Slow response troubleshooting ideas and solution understanding ,
This paper is about “Tom Bomb architecture ” original , Reprint please indicate the source . Technology is about sharing , I share my happiness !
If this article helps you , Welcome to pay attention and like ; If you have any suggestions, you can also leave comments or private letters , Your support is the driving force for me to adhere to my creation . Pay attention to WeChat public number 『 Tom Bomb architecture 』 reply “666” Available 200 page PDF Interview document !
I was delayed by programming Tom
边栏推荐
- Seata aggregates at, TCC, Saga and XA transaction modes to create a one-stop distributed transaction solution
- 墨西哥一架飞往美国的客机起飞后遭雷击 随后安全返航
- Set status bar style demo
- Lora sync word settings
- [MySQL] online DDL details
- SQL Server生成自增序号
- RESNET rs: Google takes the lead in tuning RESNET, and its performance comprehensively surpasses efficientnet series | 2021 arXiv
- MongoDB(三)——CRUD
- UNI-Admin基础框架怎么关闭创建超级管理员入口?
- GPS从入门到放弃(十七) 、对流层延时
猜你喜欢

Memorabilia of domestic database in June 2022 - ink Sky Wheel
![[sciter]: encapsulate the notification bar component based on sciter](/img/08/a3dd409261054052291e99dd28af11.png)
[sciter]: encapsulate the notification bar component based on sciter
![[MySQL] online DDL details](/img/7e/97098d7ed5802c446bbadaf7035981.png)
[MySQL] online DDL details

嵌入式常用计算神器EXCEL,欢迎各位推荐技巧,以保持文档持续更新,为其他人提供便利

GPS from getting started to giving up (XIII), receiver autonomous integrity monitoring (RAIM)

Spatial domain and frequency domain image compression of images

Seata聚合 AT、TCC、SAGA 、 XA事务模式打造一站式的分布式事务解决方案

硬件開發筆記(十): 硬件開發基本流程,制作一個USB轉RS232的模塊(九):創建CH340G/MAX232封裝庫sop-16並關聯原理圖元器件

Chapter 4: talk about class loader again

GPS from getting started to giving up (19), precise ephemeris (SP3 format)
随机推荐
C # realizes crystal report binding data and printing 4-bar code
Codeforces Round #274 (Div. 2) –A Expression
图像的spatial domain 和 frequency domain 图像压缩
Management background --3, modify classification
Management background --5, sub classification
Attack and defense world miscall
2020 Bioinformatics | GraphDTA: predicting drug target binding affinity with graph neural networks
ResNet-RS:谷歌领衔调优ResNet,性能全面超越EfficientNet系列 | 2021 arxiv
2022-07-05 stonedb的子查询处理解析耗时分析
QT | UDP broadcast communication, simple use case
Set status bar style demo
中国VOCs催化剂行业研究与投资战略报告(2022版)
网络基础入门理解
做接口测试都测什么?有哪些通用测试点?
NetXpert XG2帮您解决“布线安装与维护”难题
MariaDB database management system learning (I) installation diagram
Spatial domain and frequency domain image compression of images
2022年6月国产数据库大事记-墨天轮
OpenCV VideoCapture. Get() parameter details
LeetCode刷题(十一)——顺序刷题51至55