<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://m204wiki.rocketsoftware.com/index.php?action=history&amp;feed=atom&amp;title=Fast%2FReload_performance</id>
	<title>Fast/Reload performance - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://m204wiki.rocketsoftware.com/index.php?action=history&amp;feed=atom&amp;title=Fast%2FReload_performance"/>
	<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Fast/Reload_performance&amp;action=history"/>
	<updated>2026-05-10T21:10:34Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Fast/Reload_performance&amp;diff=82843&amp;oldid=prev</id>
		<title>Admin: 1 revision: from Stage</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Fast/Reload_performance&amp;diff=82843&amp;oldid=prev"/>
		<updated>2016-02-19T01:41:12Z</updated>

		<summary type="html">&lt;p&gt;1 revision: from Stage&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 01:41, 19 February 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Fast/Reload_performance&amp;diff=82842&amp;oldid=prev</id>
		<title>JAL: add category</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Fast/Reload_performance&amp;diff=82842&amp;oldid=prev"/>
		<updated>2016-02-19T01:27:43Z</updated>

		<summary type="html">&lt;p&gt;add category&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;In general, &amp;lt;var&amp;gt;UAI&amp;lt;/var&amp;gt;/&amp;lt;var&amp;gt;LAI&amp;lt;/var&amp;gt; is the fastest way of performing a database file reorganization.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Two key options affect both &amp;lt;var&amp;gt;FILELOAD&amp;lt;/var&amp;gt;/&amp;lt;var&amp;gt;FLOD&amp;lt;/var&amp;gt; performance and Online performance: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Whether the unload/reload is to be split up into passes.&lt;br /&gt;
&amp;lt;li&amp;gt;Whether Ordered Index data is to be unloaded via &amp;lt;var&amp;gt;UAI OINDEX&amp;lt;/var&amp;gt; and reloaded via &amp;lt;var&amp;gt;LAI&amp;lt;/var&amp;gt;.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==One pass versus multiple for unload/reload==&lt;br /&gt;
In general, unloading and reloading data in a single pass provides optimal Online performance:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;It minimizes the number of list pages used for a particular&lt;br /&gt;
fieldname-value pair. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;It ensures that index data associated with a particular fieldname-value&lt;br /&gt;
pair will tend to be localized on disk, minimizing head movement and maximizing&lt;br /&gt;
cache hit ratios. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
If it is not possible to unload and reload the data in a single pass because of&lt;br /&gt;
limitations in intermediate sort work space, there are a few things to keep&lt;br /&gt;
in mind:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you are not sorting the data on the &amp;lt;var&amp;gt;UAI&amp;lt;/var&amp;gt;, it is more efficient to unload&lt;br /&gt;
the data into multiple separate data sets and then load these data sets in&lt;br /&gt;
multiple reload steps.&lt;br /&gt;
By doing this, you avoid having to skip input records after the first reload step.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
In addition, if unloading Ordered Index data, you eliminate&lt;br /&gt;
the need to skip intermediate records to get to the Ordered Index data in each reload step. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Finally, you reduce the amount of Ordered Index data that must be scanned on&lt;br /&gt;
each reload step, since each step must scan all Ordered Index data unloaded. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If you must sort the data on the &amp;lt;var&amp;gt;UAI&amp;lt;/var&amp;gt;, you might actually get better performance&lt;br /&gt;
by regenerating the Ordered Index data, rather than unloading it via &amp;lt;var&amp;gt;UAI OINDEX&amp;lt;/var&amp;gt; and then reloading it.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This is especially true if you have a large amount of Ordered&lt;br /&gt;
Index data and you are using many reload passes.&lt;br /&gt;
You might consider using &amp;lt;code&amp;gt;UAI INVISIBLE&amp;lt;/code&amp;gt;&lt;br /&gt;
in this case, if you want to preserve invisible Ordered Index values. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When unloading and reloading data in a single pass, it is generally&lt;br /&gt;
more efficient to use the &amp;lt;var&amp;gt;OINDEX&amp;lt;/var&amp;gt; parameter of &amp;lt;var&amp;gt;UAI&amp;lt;/var&amp;gt; to unload the Ordered Index data than&lt;br /&gt;
to regenerate the Ordered Index data, because the Ordered Index data will already&lt;br /&gt;
be in sorted order in the old database file.&lt;br /&gt;
&lt;br /&gt;
==Notable UAI OINDEX and UAI INVISIBLE memory requirements==&lt;br /&gt;
You must be aware, however, that using the&lt;br /&gt;
&amp;lt;var&amp;gt;UAI OINDEX&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;UAI INVISIBLE&amp;lt;/var&amp;gt; feature can place significant real memory requirements on the reload,&lt;br /&gt;
because the reload must map old record numbers to new record numbers.&lt;br /&gt;
The table that is used for this mapping must reside in real storage for adequate performance, since the entries&lt;br /&gt;
tend to be accessed in arbitrary order.&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;Any paging for this mapping table could have&lt;br /&gt;
disastrous effects on reload performance. &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The amount of storage required for this mapping table depends on two factors:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The range of record numbers being loaded.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The number of entries in the mapping table&lt;br /&gt;
will equal the range  of record numbers unloaded.&lt;br /&gt;
This will generally be &amp;lt;var&amp;gt;BSIZE&amp;lt;/var&amp;gt; times &amp;lt;var&amp;gt;BRECPPG&amp;lt;/var&amp;gt;&lt;br /&gt;
for hash key files, and &amp;lt;var&amp;gt;BHIGHPG&amp;lt;/var&amp;gt; times &amp;lt;var&amp;gt;BRECPPG&amp;lt;/var&amp;gt; for other files. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, if you are loading data unloaded from an entry order file with &amp;lt;var&amp;gt;BHIGHPG&amp;lt;/var&amp;gt; of 15,000&lt;br /&gt;
and &amp;lt;var&amp;gt;BRECPPG&amp;lt;/var&amp;gt; of 100, the mapping table will have 1,500,000 entries.&lt;br /&gt;
By splitting the unload or reload into multiple passes, you will reduce the number of&lt;br /&gt;
entries in the mapping table.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Whether the data was sorted on the &amp;lt;var&amp;gt;UAI&amp;lt;/var&amp;gt;.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
If the data was sorted, the record&lt;br /&gt;
number mapping will tend to be random and thus require 3 bytes per entry in the record mapping table.&lt;br /&gt;
If the data was not sorted, the data will have a structure that allows the record&lt;br /&gt;
mapping table to require only 1 byte per entry. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Thus, the maximum possible storage requirement for the record mapping table would&lt;br /&gt;
be 16 million (maximum record numbers allowed in a Model&amp;amp;nbsp;204 file) times 3 bytes or 48 million bytes. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
{{Template:Fast/Reload topic list}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Fast/Reload]]&lt;/div&gt;</summary>
		<author><name>JAL</name></author>
	</entry>
</feed>