MySQL :: MySQL 5.7 Reference Manual :: 22.2.3 COLUMNS Partitioning (original) (raw)
22.2.3 COLUMNS Partitioning
The next two sections discussCOLUMNS
partitioning, which are variants onRANGE
and LIST
partitioning. COLUMNS
partitioning enables the use of multiple columns in partitioning keys. All of these columns are taken into account both for the purpose of placing rows in partitions and for the determination of which partitions are to be checked for matching rows in partition pruning.
In addition, both RANGE COLUMNS
partitioning and LIST COLUMNS
partitioning support the use of non-integer columns for defining value ranges or list members. The permitted data types are shown in the following list:
- All integer types: TINYINT,SMALLINT,MEDIUMINT,INT (INTEGER), andBIGINT. (This is the same as with partitioning by
RANGE
andLIST
.)
Other numeric data types (such asDECIMAL orFLOAT) are not supported as partitioning columns. - DATE andDATETIME.
Columns using other data types relating to dates or times are not supported as partitioning columns. - The following string types:CHAR,VARCHAR,BINARY, andVARBINARY.
TEXT andBLOB columns are not supported as partitioning columns.
The discussions of RANGE COLUMNS
andLIST COLUMNS
partitioning in the next two sections assume that you are already familiar with partitioning based on ranges and lists as supported in MySQL 5.1 and later; for more information about these, seeSection 22.2.1, “RANGE Partitioning”, andSection 22.2.2, “LIST Partitioning”, respectively.