In an effort to help assist OpenInsight system administrators manage Linear Hash tables we are publishing a reporting and resizing tool called RTI_LH_STATISTICS. This tool will enable OpenInsight system administrators to view linear hash statistics within an application and identify and resize poorly hashed tables.
Poorly hashed/sized tables are one of the most significant reasons for degradation in system performance.
The Remake table option of RTI_LH_STATISTICS utilizes a program called RTI_REMAKETABLE. RTI_REMAKETABLE works by sampling 10% of the rows in a table, calculating the average record size, then making a new pre-sized table with the frame size larger than the average record size and a threshold of 50% to force the table to resize more frequently. RTI_REMAKETABLE copies the rows from the existing table to the new table, then edits the REVMEDIA record to point to the new table rather than the old and attaches the table again.
For poorly hashed tables that have been resized the .LK will be larger in size and the .OV smaller in size. The total size of .LK + .OV will most likely increase. By making a larger .LK and a frame size larger than the average record, the resize program will force most records into the primary (LK) frames. The result will be that the performance of reads and writes will increase significantly.
You can use this tool on any table, including ! and DICT files, as well as system files such as SYSLISTS and SYSOBJ. Please be aware that the underlying REV number will change, for example as table whose DOS name was REV12345.LK may become REV12890.lk. You can run the window while the system is busy, but when resizing tables all users and background processes should be stopped. The process will update the DBT to reflect the new DOS filenames.
RTI_LH_Statistics is available at no cost to all current Works members and can be downloaded from the Works Download section of our web site.