(mysql.info) optimize-overview
Info Catalog
(mysql.info) optimization
(mysql.info) optimization
(mysql.info) query-speed
7.1 Optimization Overview
=========================
Menu
* design-limitations MySQL Design Limitations and Tradeoffs
* portability Designing Applications for Portability
* internal-use What We Have Used MySQL For
* mysql-benchmarks The MySQL Benchmark Suite
* custom-benchmarks Using Your Own Benchmarks
The most important factor in making a system fast is its basic design.
You must also know what kinds of processing your system is doing, and
what its bottlenecks are. In most cases, system bottlenecks arise from
these sources:
* Disk seeks. It takes time for the disk to find a piece of data.
With modern disks, the mean time for this is usually lower than
10ms, so we can in theory do about 100 seeks a second. This time
improves slowly with new disks and is very hard to optimize for a
single table. The way to optimize seek time is to distribute the
data onto more than one disk.
* Disk reading and writing. When the disk is at the correct
position, we need to read the data. With modern disks, one disk
delivers at least 10-20MB/s throughput. This is easier to optimize
than seeks because you can read in parallel from multiple disks.
* CPU cycles. When we have the data in main memory, we need to
process it to get our result. Having small tables compared to the
amount of memory is the most common limiting factor. But with
small tables, speed is usually not the problem.
* Memory bandwidth. When the CPU needs more data than can fit in the
CPU cache, main memory bandwidth becomes a bottleneck. This is an
uncommon bottleneck for most systems, but one to be aware of.
Info Catalog
(mysql.info) optimization
(mysql.info) optimization
(mysql.info) query-speed
automatically generated byinfo2html