|
Spec-Zone .ru
спецификации, руководства, описания, API
|
The mechanism used for DDL operations on
partitioned tables is somewhat different from the online DDL discussed throughout this section. The partitioning
clauses of the ALTER TABLE statement are only allowed in conjunction with ALGORITHM=DEFAULT and LOCK=DEFAULT. Although these
operations do not go through the same internal online DDL API as for non-partitioned tables, MySQL still
attempts to minimize data copying and locking where possible:
ADD PARTITION and DROP
PARTITION for tables partitioned by RANGE or LIST
do not copy any existing data.
TRUNCATE PARTITION does not copy any existing data, for
all types of partitioned tables.
Concurrent queries are allowed during ADD PARTITION
and COALESCE PARTITION for tables partitioned by HASH or LIST. MySQL copies the data while
holding a shared lock.
For REORGANIZE PARTITION, REBUILD
PARTITION, or ADD PARTITION or COALESCE
PARTITION for a table partitioned by LINEAR HASH or LIST, concurrent queries are allowed. Data from the affected partitions is
copied while holding a shared lock.