-
-
Save richardschoen/4e857a4b8234666ed0b69dba4bca8971 to your computer and use it in GitHub Desktop.
Cleanup Deleted Rows
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| -- | |
| -- Find database tables that contain deleted rows, return the largest potential storage savings first. | |
| -- | |
| WITH DELETED_ROWS_DATA AS ( | |
| SELECT TABLE_SCHEMA, | |
| TABLE_NAME, | |
| NUMBER_DELETED_ROWS, | |
| NUMBER_ROWS, | |
| DECIMAL(NUMBER_DELETED_ROWS, 18, 3) * 100 / (NUMBER_DELETED_ROWS + NUMBER_ROWS) AS PERCENT_DELETED, | |
| CASE | |
| WHEN AVGROWSIZE != -1 THEN AVGROWSIZE | |
| ELSE ((DATA_SIZE - VARIABLE_LENGTH_SIZE) / MAX((NUMBER_ROWS + NUMBER_DELETED_ROWS), | |
| 1)) | |
| END AS ESTIMATED_ROW_SIZE | |
| FROM QSYS2.SYSTABLESTAT X | |
| WHERE NUMBER_DELETED_ROWS > 0 | |
| AND TABLE_SCHEMA NOT LIKE 'Q%' | |
| ) | |
| SELECT TABLE_SCHEMA, | |
| TABLE_NAME, | |
| NUMBER_DELETED_ROWS, | |
| PERCENT_DELETED, | |
| DECIMAL((NUMBER_DELETED_ROWS * ESTIMATED_ROW_SIZE / DECIMAL(1000000)), 20, 2) AS ESTIMATED_SPACE_SAVED_MB | |
| FROM DELETED_ROWS_DATA DELROWS | |
| ORDER BY ESTIMATED_SPACE_SAVED_MB DESC; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment