I have a table with 25 million records and 10 columns on which I am trying to create indexes. According to the following documentation no table copy should occur but when I monitor disk usage it is showing that MySQL has high disk usage and data directory is increasing in size. Can anyone explain why this is happening.
That happens when InnoDB compressed tables with large amount of rows are being updated (no matter if the algorithm is in place). Large operations for ALTER tables, will use the "online log", which is expected to consume space. You can check this using
SHOW ENGINE INNODB STATUS in the History Length line.
This happens always that you have large operations that need consistency across transaction history.
If you share more details about the operation it can be useful to improve this answer.