ch6 Ways to Restructure Queries

High.Performance.MySQL 读书笔记
chapter 6 Query Performance Optimization
Ways to Restructure Queries

Ways to Restructure Queries

As you optimize problematic queries,You can sometimes transform queries into equivalent forms that return the same results, and get better performance.

Complex Queries Versus Many Queries

Depending on the server version, MySQL can run well over 100,000 simple queries per second on commodity server hardware and over 2,000 queries per second from a single correspondent on a gigabit network, so running mul- tiple queries isn’t necessarily such a bad thing.

One important query design question is whether it’s preferable to break up a complex query into several simpler queries:
Connection response is still slow compared to the number of rows MySQL can traverse per second internally, though, which is counted in millions per second for in-memory data. All else being equal, it’s still a good idea to use as few queries as possible

Chopping Up a Query

Another way to slice up a query is to divide and conquer, keeping it essentially the same but running it in smaller “chunks” that affect fewer rows each time

Join Decomposition

Many high-performance applications use join decomposition. You can decompose a join by running multiple single-table queries instead of a multitable join, and then per- forming the join in the application。

Doing joins in the application can be more efficient when you cache and reuse a lot of data from earlier queries, you distribute data across multiple servers, you replace joins with IN() lists on large tables, or a join refers to the same table multiple times.

猜你喜欢

转载自blog.csdn.net/hjw199089/article/details/84679524