当前位置:网站首页>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 !
↓ ↓ ↓ ↓ ↓
边栏推荐
- Kotlin Compose 监听软键盘 点击enter提交事件
- Unity Quad culls shaders with back faces and transparent parts
- Gbase 8s memory management
- 在 .NET 6 中使用 dotnet format 格式化代码
- Php7.2 add JPEG extension
- "Daily practice, happy water" 1108 IP address invalidation
- 绝了!自动点赞,我用 PyAutoGUI!
- Data view for gbase 8s
- 台式电脑连不上wifi怎么办
- GBASE 8s的数据导入和导出
猜你喜欢

高效的NoSQL数据库服务Amozon DynamoDB体验分享

js的arguments

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

Record small knowledge points

固态硬盘开盘数据恢复的方法

Cnpm: unable to load file c:\users\administrator\appdata\roaming\npm\cnpm PS1 because running scripts is prohibited on this system.

leetcode1221. 分割平衡字符串

jsz中的join()

Gbase 8s index b+ tree

GBASE 8s 索引R树
随机推荐
js中的concat()
Immutable學習之路----告別傳統拷貝
Classification of gbase 8s locks
LabVIEW development gas regulator
win11蓝牙无法连接怎么办?win11蓝牙无法连接的解决方法
多睡觉,能减肥,芝加哥大学最新研究:每天多睡1小时,等于少吃一根炸鸡腿...
OpenSea PHP开发包
Trigger for gbase 8s
Paper notes: multi label learning ESMC (I don't understand it, but I haven't written it yet, so I'll put it here for a place temporarily)
Gbase 8s overall architecture
高效的NoSQL数据库服务Amozon DynamoDB体验分享
记录小知识点
Mongodb cluster
Which programming language is the most cumbersome to implement Hello world?
Unity Quad culls shaders with back faces and transparent parts
What if the desktop computer is not connected to WiFi
js的sort()函数
CTF_ Web: file contains pseudo protocol with PHP
[Flink] problems and solutions of the continuous growth of checkpoint size in rocksdb incremental mode
Machine learning deep learning -- Vectorization