Chad Severtson · Jun 21, 2024 go to post

I urge folks to avoid ^%GSIZE with show details = yes unless there is an urgent need for recent size info. If you're going to read the whole database, I'd suggest an Integrity Check instead. It provides the same information but also verifies integrity. 

I worked with a customer last year that had about 500,000 messages per day. It took an hour to collect one day of data and 8.5 hours to process it on a dedicated m6i.large. They found 12,000 discrepancies but used the SkipList feature and some SQL queries to sift through the results. 
E.g. 

SELECT Count(*), M.ServiceOperation, M.DocumentType 
FROM HS_InteropTools_HL7_Compare.Temp T, HS_InteropTools_HL7_Compare.Message M 
WHERE identical = 0 AND T.MessageRowID = M.ID AND M.RunIdentifier='Source'
GROUP BY M.ServiceOperation,M.DocumentType