At present, when doing TM maintenance, users can mark translation units (TUs) for deletion and then press COMMIT. While the TUs might disappear from view, they still appear to be in the TM as the file size of the TM (in Windows Explorer) doesn't change. For example, if you have a TM that is 200 MB in size and you mark 50% or more of the TUs for deletion and click on COMMIT, then exit TRADOS and take a look at the file size of the TM, it hasn't changed. It will still be 200 MB. Why? Probably because the TUs are still in the TM, which has not been compacted.
I suggest a (right-click and/or menu) PURGE command that would [1] ask if the user really wanted to do a PURGE of the selected TM, then [2] make a local backup of the TM (just it case it was Monday morning and the user didn't get his or her coffee), [3] PERMANENTLY remove all TUs marked for deletion in that TM and then [4] automatically compact and reindex the TM. These are long-time SQL commands and should be incorporated into SDL TRADOS. At present, the workaround is to export your TUs as a TMX file, then recreate a new TM using those records to get a smaller TM. This shouldn't be necessary. As long as the user is OK with it, why not even give the ability to schedule an automatic PURGE at preset intervals? Wouldn't this make TRADOS more efficient?