top | item 41877166

(no title)

benoitg | 1 year ago

Not really, the innodb_file_per_table variable has been set to 1 for a long time. Running OPTIMIZE TABLE frees up the disk space in this case.

discuss

order

sudhirj|1 year ago

Is this process materially different from a vacuum? Does it manage to optimise without a write lock?

benoitg|1 year ago

I don't know how VACUUM works, I couldn't tell you about the differences.

The OPTIMIZE works almost exclusively with online DDL statements. There's only a brief table lock held during table metadata operations, but I haven't found that to be a problem in practice. (https://dev.mysql.com/doc/refman/8.4/en/optimize-table.html#...)