当前位置:网站首页>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
边栏推荐
- zabbix 代理服务器 与 zabbix-snmp 监控
- GNN,请你的网络层数再深一点~
- 基於 QEMUv8 搭建 OP-TEE 開發環境
- MongoDB(三)——CRUD
- 2500个常用中文字符 + 130常用中英文字符
- Spatial domain and frequency domain image compression of images
- 【sciter】: 基于 sciter 封装通知栏组件
- Common sense: what is "preservation" in insurance?
- Oracle-控制文件及日志文件的管理
- GPS from getting started to giving up (XIII), receiver autonomous integrity monitoring (RAIM)
猜你喜欢

GPS从入门到放弃(十二)、 多普勒定速

硬件开发笔记(十): 硬件开发基本流程,制作一个USB转RS232的模块(九):创建CH340G/MAX232封装库sop-16并关联原理图元器件

RESNET rs: Google takes the lead in tuning RESNET, and its performance comprehensively surpasses efficientnet series | 2021 arXiv

Memorabilia of domestic database in June 2022 - ink Sky Wheel

GPS from getting started to giving up (12), Doppler constant speed

How does the uni admin basic framework close the creation of super administrator entries?
![[MySQL] online DDL details](/img/7e/97098d7ed5802c446bbadaf7035981.png)
[MySQL] online DDL details

Seata aggregates at, TCC, Saga and XA transaction modes to create a one-stop distributed transaction solution

Unity3d minigame-unity-webgl-transform插件转换微信小游戏报错To use dlopen, you need to use Emscripten‘s...问题

【10点公开课】:视频质量评价基础与实践
随机推荐
2021 geometry deep learning master Michael Bronstein long article analysis
Report on technological progress and development prospects of solid oxide fuel cells in China (2022 Edition)
Attack and defense world miscall
C # réalise la liaison des données du rapport Crystal et l'impression du Code à barres 4
GPS從入門到放弃(十三)、接收機自主完好性監測(RAIM)
Oracle-控制文件及日志文件的管理
插入排序与希尔排序
GPS from getting started to giving up (16), satellite clock error and satellite ephemeris error
Unity3d Learning Notes 6 - GPU instantiation (1)
[leetcode daily clock in] 1020 Number of enclaves
About the professional ethics of programmers, let's talk about it from the way of craftsmanship and neatness
硬件開發筆記(十): 硬件開發基本流程,制作一個USB轉RS232的模塊(九):創建CH340G/MAX232封裝庫sop-16並關聯原理圖元器件
China 1,4-cyclohexanedimethanol (CHDM) industry research and investment decision-making report (2022 Edition)
Data storage (1)
GPS从入门到放弃(十五)、DCB差分码偏差
嵌入式常用计算神器EXCEL,欢迎各位推荐技巧,以保持文档持续更新,为其他人提供便利
Seata聚合 AT、TCC、SAGA 、 XA事务模式打造一站式的分布式事务解决方案
Kohana 数据库
Qt | UDP广播通信、简单使用案例
SQL Server生成自增序号