Chapter 15. Partitioning
Partitioning is dividing up data in a database into distinct independent elements. Partitioning has three main purposes: to provide data manageability, performance, and availability. Partitioning is not part of relational database theory; it is a practical detail to help queries perform better. There are several methods of implementing partitioning with MySQL.
Learning About Partitioning
There are two ways to partition database tables:
Horizontal Partitioning — In horizontal partitioning, different rows are stored in different tables. Perhaps customers with IDs less than 500,000 are stored in
customers1
, while customers with IDs greater than or equal to 500,000 are stored incustomers2
. These two tables now horizontally partition the data set of customers. In horizontal partitioning, the table schemas are exactly the same (i.e.,customers1
andcustomers2
have the same schema). It is as if a table were cut into parts using a horizontal line.Archiving older data is a commonly used example of horizontal partitioning. Another technique using horizontal partitioning is sharding, which involves using separate servers to host similar types of data. For example, customers with IDs less than 500,000 are stored in the
customers
table onserver1
, and customers with IDs greater than or equal to 500,000 are stored in thecustomers
table ...
Get MySQL® Administrator's Bible now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.