Skip to content

Commit b430e45

Browse files
committed
Add next navigation
Add next navigation
1 parent c7c4a6e commit b430e45

19 files changed

+39
-1
lines changed

Chapter1.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,3 +117,5 @@ From these logs, warnings indicating 'has become unreachable' are evident. Under
117117
This chapter analyzed how users approach solving MySQL problems. MySQL 8.0 has made strides in improvement, notably in mitigating scalability problems and introducing support for hash joins, which is a positive development. However, there remain numerous unsolved problems, both longstanding and newly emerging. Effectively addressing MySQL problems demands a thorough understanding of the problems and relevant theories; otherwise, the understanding may be incomplete.
118118

119119
The next chapter will demonstrate the considerable challenge of solving obscure MySQL problems through various case studies. It necessitates a broad knowledge base and extensive logical reasoning to pinpoint the root causes of these problems.
120+
121+
[Next](Chapter2.md)

Chapter10.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -478,3 +478,5 @@ The figure illustrates the throughput of the MySQL primary at concurrency levels
478478
Notably, maximum replay speed is directly correlated with concurrency. At 150 concurrency, throughput is high with nearly zero delay, whereas at 200 concurrency, throughput is slightly reduced with a 2-second delay.
479479

480480
With better hardware, further improvements in maximum replay speed might be possible, but the test results are already very close to the achievable maximum.
481+
482+
[Next](Part4.md)

Chapter11.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -384,3 +384,5 @@ Notably, the *innodb_buffer_pool_size* parameter is well-suited for dynamic adap
384384
This chapter focuses on optimizing MySQL application performance without modifying MySQL source code. Key methods include using PGO, minimizing network interactions, employing advanced memory allocation tools, and improving indexing and parameter configurations.
385385

386386
The effectiveness of these optimization methods varies depending on the MySQL version, configuration parameters, hardware environment, and specific application characteristics. While a parameter might significantly impact performance in one scenario, its effectiveness may decrease in another. This variability arises from the complex interactions between multiple performance-affecting queues and potential bottlenecks, making performance testing particularly challenging.
387+
388+
[Next](Part5.md)

Chapter12.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,4 +73,6 @@ MySQL performance optimization heavily relies on mitigating scalability problems
7373

7474
We firmly believe that high availability solutions based on Paxos log persistence will be the future trend. Our extensive experience in the long-term transformation of Group Replication has laid a solid foundation for achieving true high availability. The speed of MySQL secondary replay determines the quality of MySQL's high availability. Achieving replay speeds in the range of millions of tpmC is possible but requires persistent effort.
7575

76-
Although MySQL optimization is a long and winding process, we are confident that MySQL will continue to improve over time.
76+
Although MySQL optimization is a long and winding process, we are confident that MySQL will continue to improve over time.
77+
78+
[Next](References.md)

Chapter2.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,3 +242,5 @@ The figure reveals that disabling NUMA at the BIOS level results in a balanced r
242242
## 2.10 Summary
243243

244244
This chapter delves into classic and intricate MySQL problems, which pose significant challenges for analysis. The resolution of these problems begins with a detailed logical analysis, as outlined in the following chapter. Addressing and solving these problems necessitates a profound understanding of computer fundamentals and MySQL internals. Computer fundamentals encompass a broad range of topics including computer architecture, data structures, algorithms, operating systems, computer networks, compilers, queueing theory, and distributed systems theory, among others. These topics will be thoroughly explored in Chapter 4. Chapter 5 will focus specifically on MySQL internals.
245+
246+
[Next](Part2.md)

Chapter3.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,3 +215,5 @@ Effective software problem-solving relies on logical reasoning. Below is a figur
215215
Figure 3-6. A general framework for solving program problems.
216216

217217
The figure integrates logical reasoning and information retrieval. Maintaining logical thinking ensures each step's reliability. Without it, one risks falling into traps that hinder effective software problem-solving.
218+
219+
[Next](Chapter4.md)

Chapter4.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1757,3 +1757,5 @@ In MySQL, a common strategy involves taking a MySQL secondary instance offline f
17571757
### 4.12.5 Is Testing About Discovering Problems or Verifying Them?
17581758
17591759
Testing serves not only to verify known problems but also to uncover new ones. Verification of problems is the initial step to ensure that the software behaves as expected. Subsequently, the focus shifts to actively discovering potential problems within the program, preempting their discovery by testers. Adopting this strategy during the process of improving MySQL fundamentally ensures the quality of MySQL modifications. Practical experience has validated this approach as highly effective. Where possible, replicating online traffic for testing provides a robust means to identify potential problems within the software, further enhancing its overall quality.
1760+
1761+
​ [Next](Chapter5.md)

Chapter5.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -683,3 +683,5 @@ It is worth noting that the main basis for performance testing and comparison in
683683
*TPC benchmark C also known as TPC-C which is the leading online transaction processing (OLTP) benchmark has been used to perform the comparison.*
684684

685685
In this book, BenchmarkSQL is predominantly used for TPC-C testing. This choice is based not only on BenchmarkSQL's representative TPC-C testing capabilities but also on its higher alignment with real-world online environments.
686+
687+
[Next](Chapter6.md)

Chapter6.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,3 +209,5 @@ The following figure illustrates the mechanism of replicating MySQL traffic from
209209
Figure 6-7. Mechanism for replicating MySQL traffic from production to testing systems.
210210

211211
Testing real-world online traffic is crucial for MySQL, as it effectively reveals potential problems such as performance stability, memory leaks, and the robustness of new MySQL versions.
212+
213+
[Next](Part3.md)

Chapter7.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -557,3 +557,5 @@ Figure 7-30. Effects of *binlog_row_image=minimal* after BenchmarkSQL testing.
557557
From the figure, it can be seen that setting *binlog_row_image=minimal* can also significantly reduce the size of binlogs.
558558

559559
Overall, MySQL 8.0 offers effective solutions to address the problem of binlogs consuming substantial I/O space. Users can leverage binlog compression and, where feasible, further reduce binlog size by using *binlog_row_image=minimal* to save on storage costs. It's important to note that the compression ratio can vary across different applications.
560+
561+
[Next](Chapter8.md)

0 commit comments

Comments
 (0)