当前位置:网站首页>The SQL response is slow. What are your troubleshooting ideas?
The SQL response is slow. What are your troubleshooting ideas?
2022-06-25 04:46:00 【Tom bomb architecture】
If you need a full version of the interview document, you can scan the QR code at the bottom of the article to get it !
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 .
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 , I hope I can help you . Pay attention to me , The interview is no longer difficult !
Pay attention to WeChat public number 『 Tom Bomb architecture 』 reply “666” Available 200 page pdf Format document ( Complimentary gift 10 Internal interview materials of Wanzi factory ). Thank you for your support !

You can also scan the QR code below +\/ Get the full version free of charge !
↓ ↓ ↓ ↓ ↓
边栏推荐
- CTF_ Web: Learn flask template injection (SSTI) from 0
- OOP stack class template (template +ds)
- CTF_ Web: Advanced questions of attack and defense world expert zone WP (15-18)
- Bingbing's learning notes: implementation of circular queue
- GBASE 8s 总体架构
- Xiaobai learns MySQL - Statistical 'opportunism'
- Coordinate system left multiply right multiply
- GBASE 8s存储过程执行和删除
- 本轮压力测试下,DeFi协议们表现如何?
- Machine learning deep learning -- Vectorization
猜你喜欢

2.0SpingMVC使用RESTful

我的IC之旅——资深芯片设计验证工程师成长——“胡”说IC工程师完美进阶

Heavy broadcast | phase shift method + mathematical principle derivation of multi frequency heterodyne + implementation

MySQL concept and operation (III)

CTF_ Web: Learn flask template injection (SSTI) from 0

Records of ros2/dds/qos/ topics

绝了!自动点赞,我用 PyAutoGUI!

SOC验证环境的启动方式

At the age of 30, I began to learn programming by myself. Is it still time for me to have difficulties at home?

Vscode 设置clang-format
随机推荐
Package for gbase 8s
机器学习深度学习——向量化
Gbase 8s stored procedure flow control
执行SQL响应比较慢,你有哪些排查思路?
Why PHP is not safe
Use of deferred environment variable in gbase 8s
php封装curl发送get、post请求方法,并使用
Vscode 设置clang-format
Upgrade PHP to php7 X (III) failure of wechat payment callback
以太网是什么要怎么连接电脑
Cascading deletion of gbase 8s
"Daily practice, happy water" 1108 IP address invalidation
OOP栈类模板(模板+DS)
olap分析引擎——Kylin4.0
Region of Halcon: generation of multiple regions (3)
Write shell script error summary
Calculate student grade (virtual function and polymorphism)
Gbase 8s index R tree
[esp32 learning path 6 - Flash encryption]
JS arguments