tencent cloud

Online DDL in TDSQL Boundless
Last updated:2026-02-10 11:05:59
Online DDL in TDSQL Boundless
Last updated: 2026-02-10 11:05:59
This document outlines support for Online DDL (Data Definition Language) operations in TDSQL Boundless. Most common DDL operations are supported online, including many inplace operations that only require metadata changes.

Support for Online DDL

Secondary Index Operations

Operation
Syntax Supported
Online Change
Reason for Not Supporting Online Change
Metadata-Only
Data Operation
Permits Concurrent DML
Creating/Adding a secondary index
Yes
Yes
/
No
Requires data backfill
Yes
Dropping an index
Yes
Yes
/
No
Requires asynchronous data deletion
Yes
Renaming an index
Yes
Yes
/
No
/
Yes
Adding a FULLTEXT index
No
No
Not support this operation
/
/
/
Adding a SPATIAL index
No
No
Not support this operation
/
/
/
Changing the index type
No
No
Reason for no support: The engine only supports the default index type, not B-tree, Hash, etc.
/
/
/

Primary Key Operations

DDL operations that modify a primary key are not supported in online mode. They require locking the table and performing a full copy.
Operation
Syntax Supported
Online Change
Reason for Not Supporting Online Change
Metadata-Only
Data Operation
Permits Concurrent DML
Adding a primary key
Yes
No
Data reorganization is required.
No
Requires table lock and copy
No
Dropping a primary key
Yes
No
Data reorganization is required.
No
Requires table lock and copy
No
Dropping a primary key and adding another
Yes
Yes
/
No
Requires table lock and copy
Yes

Column Operations

Operatio
Syntax Supported
Online Change
Reason for Not Supporting Online Change
Metadata-Only
Data Operation
Permits Concurrent DML
Adding a column
(at the end)
Yes
Yes
/
Yes
Yes
Adding a column
(not at the end)
Yes
Yes
/
No
Requires Online Copy
Yes
Dropping a column
Yes
Yes
/
No
Requires Online Copy
Yes
Renaming a column
Yes
Yes
/
Yes
/
Yes
Reordering columns
Yes
Yes
/
No
Requires Online Copy
Yes
Setting a column default value
Yes
Yes
/
Yes
/
Yes
Changing a column data type
Yes
Yes
/
No
Requires Online Copy
Yes
Extending VARCHAR column size
(not in PK)
Yes
Yes
/
Varies*
Varies*
Yes
Extending VARCHAR column size
(in PK)
Yes
Yes
/
No
Requires Online Copy
Yes
Dropping a column default value
Yes
Yes
/
Yes
/
Yes
Changing the auto-increment value
Yes
Yes
/
Yes
/
Yes
Making a column NULL
Yes
Yes
/
No
Requires Online Copy
Yes
Making a column NOT NULL
Yes
Yes
/
No
Requires Online Copy
Yes
Modifying ENUM or SET Definition
Yes
Yes
/
Yes
/
Yes

Table Operations

Operation
Syntax Supported
Online Change
Reason for Not Supporting Online Change
Metadata-Only
Data Operation
Permits Concurrent DML
Changing the ROW_FORMAT
No
No
Not support this operation
/
/
/
Changing the KEY_BLOCK_SIZE
No
No
Not support this operation
/
/
/
Setting persistent table statistics
No
No
Not support this operation
/
/
/
Specifying a character set
Yes
Yes
/
No
Requires Online Copy
Yes
Converting a character set
Yes
Yes
/
No
Requires Online Copy
Yes
Optimizing a table
Yes
/
This command returns success immediately but performs no action, as the engine's automatic compaction makes it unnecessary
/
/
/
Rebuilding with the FORCE option
Yes
Yes
/
No
Requires Online Copy
Yes
Performing a null rebuild
No
No
Not support this operation
/
/
/
Renaming a table
Yes
Yes
/
Yes
/
Yes

Partitioning Operations

Operation
Syntax Supported
Online Change
Reason for Not Supporting Online Change
Metadata-Only
Data Operation
Permits Concurrent DML
PARTITION BY
Yes
Yes
/
No
Requires Online Copy
Yes
ADD PARTITION
Yes
Yes
/
Yes
/
Yes
DROP PARTITION
Yes
Yes
/
Yes
/
Yes
DISCARD PARTITION
No
No
Not support this operation
/
/
/
IMPORT PARTITION
No
No
Not support this operation
/
/
/
TRUNCATE PARTITION
Yes
Yes
/
/
Async data deletion
Yes
COALESCE PARTITION
Yes
Yes
/
No
Requires Online Copy
Yes
REORGANIZE PARTITION
Yes
Yes
/
No
Requires Online Copy
Yes
EXCHANGE PARTITION
No
No
Not support this operation
/
/
/
ANALYZE PARTITION
No
No
Not support this operation
/
/
/
CHECK PARTITION
No
No
Not support this operation
/
/
/
OPTIMIZE PARTITION
Yes
/
This command returns success immediately but performs no action, as the engine's automatic compaction makes it unnecessary
/
/
/
REBUILD PARTITION
Yes
Yes
/
No
Requires Online Copy
Yes
REPAIR PARTITION
Yes
No
Not counted as DDL
/
/
/
REMOVE PARTITIONING
Yes
Yes
/
No
Requires Online Copy
Yes

Tablespace Operations

Tablespaces operations are not supported.

Generated Column Operations

Generated Column operations are not supported.

Foreign Key Operations

Foreign Key operations are not supported.

Comparison with Community MySQL 8.0

Both the Inplace and Online Copy operations of TDSQL Boundless and the Instant and Inplace operations of Community Edition MySQL 8.0 are considered Online operations. Their differences for common DDL operations are compared as follows.
Operation
TDSQL Boundless
MySQL
Converting a character set
Allows concurrent DML
Blocks concurrent DML
Changing the column data type
Allows concurrent DML
Blocks concurrent DML
PARTITION BY
Allows concurrent DML
Blocks concurrent DML
Extending VARCHAR column size
Allows concurrent DML
Support is conditional, with limits on X in VARCHAR(X).
Adding a primary key
Blocks concurrent DML
Allows concurrent DML
Note:
TDSQL Boundless currently does not yet support a small number of DDL operations. Therefore, this section only explains the differences between TDSQL Boundless and the community edition MySQL 8.0 regarding their commonly supported features.
For the type for extending the size of VARCHAR columns, the community edition MySQL 8.0 limits the character length specified by VARCHAR(X), mainly involving the pack length for storage. Assuming that UTF8MB4 is used as the character set, the number of bytes occupied by a field is X*4.
If the old size (X * 4) and new size (Y * 4) are both less than 256 bytes, the operation is INPLACE;
If the old size is less than 256 but the new size is greater than or equal to 256 bytes, the operation is not INPLACE.
Example:
CREATE TABLE t1(a INT PRIMARY KEY, b VARCHAR(10)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
ALTER TABLE t1 CHANGE COLUMN b b VARCHAR(20), ALGORITHM=INPLACE, LOCK=NONE; → Succeeded.
ALTER TABLE t1 CHANGE COLUMN b b VARCHAR(64), ALGORITHM=INPLACE, LOCK=NONE; → Failed.
Was this page helpful?
You can also Contact Sales or Submit a Ticket for help.
Yes
No

Feedback