How do I do a CREATE INDEX with Percona's pt-online-schema-change tool? I want to do something like:
CREATE UNIQUE INDEX idx_name ON table_name (col_1, col_2, ...) USING BTREE
According to the documentation, I must use the --alter argument and then the appropriate ALTER TABLE statement, minus the preceding ALTER TABLE table_name phrase. However, CREATE INDEX does not start with ALTER TABLE, and the table name is embedded inside the CREATE INDEX statement. So how can I move forward?
pt-online-schema-change works by creating an empty copy of the table to alter, modifying it as desired, and then copying rows from the original table into the new table. When the copy is complete, it moves away the original table and replaces it with the new one. By default, it also drops the original table.
online-schema-change alters a table's structure without blocking reads or writes.. GeoPITS brings you the comprehensive details of Online schema change's support in different versions & editions of SQL Server.
I use this one) pt-online-schema-change --alter 'add index ix_cdate (cdate)' D=database_name,t=table_name --dry-run --critical-load Threads_running=110
According to the documentation for MySQL CREATE INDEX:
CREATE INDEX is mapped to an ALTER TABLE statement to create indexes.
Thus, you can convert my example to the SQL statement:
ALTER TABLE table_name ADD UNIQUE INDEX idx_name (col_1, col_2, ...) USING BTREE
Resulting in the Percona schema modification statement:
ADD UNIQUE INDEX idx_name (col_1, col_2, ...) USING BTREE
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With