|
2 | 2 |
|
3 | 3 | The MyRocks storage engine lacks the following features compared to InnoDB:
|
4 | 4 |
|
5 |
| -* [Online DDL](https://dev.mysql.com/doc/refman/8.0/en/innodb-online-ddl.html) is not supported due to the lack of atomic DDL support. |
| 5 | +* [Online DDL](https://dev.mysql.com/doc/refman/8.0/en/innodb-online-ddl.html) is generally **not supported** due to the lack of atomic DDL support. |
6 | 6 |
|
7 |
| - * There is no `ALTER TABLE ... ALGORITHM=INSTANT` functionality |
| 7 | + As of Percona Server for MySQL 8.0.42-33, RocksDB supports a limited set of Instant DDL operations through specific configuration variables: |
8 | 8 |
|
9 |
| - * A partition management operation only supports the `COPY` algorithms, which rebuilds the partition table and moves the data based on the new `PARTITION ... VALUE` definition. In the case of `DROP PARTITION`, the data not moved to another partition is deleted. |
| 9 | + * [`--rocksdb_enable_instant_ddl_for_append_column`](variables.md#rocksdb_enable_instant_ddl_for_append_column) |
| 10 | + * [`--rocksdb_enable_instant_ddl_for_column_default_changes`](variables.md#rocksdb_enable_instant_ddl_for_column_default_changes) |
| 11 | + * [`--rocksdb_enable_instant_ddl_for_drop_index_changes`](variables.md#rocksdb_enable_instant_ddl_for_drop_index_changes) |
| 12 | + * [`--rocksdb_enable_instant_ddl_for_table_comment_changes`](variables.md#rocksdb_enable_instant_ddl_for_table_comment_changes) |
10 | 13 |
|
| 14 | + However, RocksDB has important limitations compared to InnoDB's Instant DDL support. |
| 15 | + |
| 16 | + * The explicit `ALTER TABLE ... ALGORITHM=INSTANT` syntax is not supported for RocksDB tables. |
| 17 | + |
| 18 | + * As of Percona Server for MySQL 8.0.25-15, certain partition management operations support the `INPLACE` algorithm. For example, dropping a partition can now be performed without a full table rebuild. |
| 19 | + |
| 20 | + ```sql |
| 21 | + ALTER TABLE t1 ALGORITHM=INPLACE, DROP PARTITION p2; |
| 22 | + ``` |
| 23 | + However, not all partition operations support `INPLACE`. Operations that modify the partitioning scheme, such as changing `PARTITION ... VALUES`, still require the `COPY` algorithm. In these cases, the table is rebuilt, and data is redistributed according to the new partition definition. |
| 24 | + |
| 25 | + Note that if you use `DROP PARTITION` without reassigning data to another partition, any data contained in the dropped partition will be permanently deleted. |
11 | 26 |
|
12 | 27 | * [ALTER TABLE .. EXCHANGE PARTITION](https://dev.mysql.com/doc/refman/8.0/en/partitioning-management-exchange.html).
|
13 | 28 |
|
|
0 commit comments