Skip to content

Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free.

Learn more about Software Architecture & Design.
Join thousands of developers getting weekly updates to increase your understanding of software architecture and design concepts.


Follow @CodeOpinion

SQL

MySQL InnoDB Tablespace

As with my other databases it should be no surprise that when using MySQL InnoDB as your database engine, the system tablespace (ibdata files) never release space back to the operating system. The filesystem space will increase as needed, if defined by the autoextend property but will never reduce. What is surprising, is there is no tool to shrink or release the free space back to the operating system. In Microsoft SQL Server, they have a shrink utility, in MongoDB you have the repairdatabase statement. With MySQL InnoDB your option is to dump and restore the database.

SQL Server Transaction Log File (LDF) Misconception

A common misconception is that setting the recovery model to simple will cause SQL Server not to use the transaction log file (LDF), preventing it from growing to an abnormal size. In fact, the simple recovery model will still use the transaction log when performing transactions, however it will reclaims log space to keep space requirements small. The actual file size will not be reduced by reclaiming space.  Same as performing a transactional backup will not reduce the actual file size. This is important becase if you have a long running transaction that is performing many insert/update/delete statements, the transaction… Read More »SQL Server Transaction Log File (LDF) Misconception