Size of MII entities and corresponding records in XMII tables
Hello MII Community,
In this blog I’d like to say few words and share some hints regarding a size of MII entities and corresponding records in XMII tables.
Imagine you face some memory consumption or performance issue. It can happen because the corresponding MII file is huge and as a consequence it takes much time to process it.
In some cases you should dig to the needed record in XMII_FILES table, which has a BLOB column TEXT that can occupy a lot of space. You can judge about its size based on FILESIZE column. However, this column has been introduced since MII 12.2 SP7 and MII 14.0 SP4 only. In older versions you should use some script to evaluate the size. Below is the example from SQL Server database:
select NAME, datalength(TEXT) as LengthOfBLOBField
The calculated length is provided in Bytes, same as in standard FILESIZE column.
In case you have other DB vendor, an equivalent datalength() function should be used.
In more rare cases you need to check for the same in other XMII tables. Very recently I have had a need to check XMII_JOBPROP table and found a property there, which value (a CLOB column PROPVALUE) occupied more than 1 Gb, and caused an issue.
Correspondingly, the query to check it was:
select JOBID, PROPNAME, datalength(PROPVALUE) as LengthOfCLOBField
Hope you find these hints useful. Your comments, ratings and Likes would be appreciated.
Thanks for sharing. This is a good practice to follow before promoting code. It can often reveal large hard coded default xml values etc in parameters used for development/debugging etc. It can also detect large resources like images that can be targeted for compression. I have in the past informally requested that file sizes be included in the response from the Catalog api's. This would help tremendously in the development of external tools that could automate some of this.