Difference between revisions of "Optimizing Indexes using SYNCNUM"
Barrymavin (Talk | contribs) |
Yvonnemilne (Talk | contribs) |
||
Line 3: | Line 3: | ||
The optimization is enabled using the [[DB_INDEXSEQNO]] environment variable/symbol. This updates the [[SYNCNUM]] column of all new rows added to tables. In turn, any new character or date indexes include the [[SYNCNUM]] column automatically: character indexes have [[SYNCNUM]] added to the end of the expression, date indexes are converted to [[DTOS()]] and have the [[SYNCNUM]] added to the end. Numeric index are not affected. | The optimization is enabled using the [[DB_INDEXSEQNO]] environment variable/symbol. This updates the [[SYNCNUM]] column of all new rows added to tables. In turn, any new character or date indexes include the [[SYNCNUM]] column automatically: character indexes have [[SYNCNUM]] added to the end of the expression, date indexes are converted to [[DTOS()]] and have the [[SYNCNUM]] added to the end. Numeric index are not affected. | ||
− | The [[SYNCNUM]] pseudo column for existing Recital | + | The [[SYNCNUM]] pseudo column for existing Recital tables can be populated using the [[recitalconvert]] utility and the [[CONVERT]] command. The recitalconvert utility is used from the operating system prompt: |
<pre> | <pre> | ||
− | $ | + | $ recitalconvert index <table name>.dbf |
</pre> | </pre> | ||
Line 14: | Line 14: | ||
<pre> | <pre> | ||
− | $ | + | $ recitalconvert index |
</pre> | </pre> | ||
− | For more information please see the [[CONVERT]] command and [[ | + | For more information please see the [[CONVERT]] command and [[recitalconvert]] utility. |
− | When [[DB_INDEXSEQNO]] is set to true, any tables and indexes that have not previously been converted, will be converted to use the [[SYNCNUM]] optimization as they are opened. It is however recommended that you use "[[ | + | When [[DB_INDEXSEQNO]] is set to true, any tables and indexes that have not previously been converted, will be converted to use the [[SYNCNUM]] optimization as they are opened. It is however recommended that you use "[[recitalconvert]] index" or "[[CONVERT]] index" to manually convert your tables before setting [[DB_INDEXSEQNO]] to true. |
[[Category:Documentation]] | [[Category:Documentation]] | ||
[[Category:Reference]] | [[Category:Reference]] |
Revision as of 14:55, 16 December 2009
Recital Character and date indexes can be optimized based on the use of the pseudo column SYNCNUM to ensure that all keys are unique. Every row/record in a table has a unique SYNCNUM value for that table.
The optimization is enabled using the DB_INDEXSEQNO environment variable/symbol. This updates the SYNCNUM column of all new rows added to tables. In turn, any new character or date indexes include the SYNCNUM column automatically: character indexes have SYNCNUM added to the end of the expression, date indexes are converted to DTOS() and have the SYNCNUM added to the end. Numeric index are not affected.
The SYNCNUM pseudo column for existing Recital tables can be populated using the recitalconvert utility and the CONVERT command. The recitalconvert utility is used from the operating system prompt:
$ recitalconvert index <table name>.dbf
or, to convert all dbf files in the current directory:
$ recitalconvert index
For more information please see the CONVERT command and recitalconvert utility.
When DB_INDEXSEQNO is set to true, any tables and indexes that have not previously been converted, will be converted to use the SYNCNUM optimization as they are opened. It is however recommended that you use "recitalconvert index" or "CONVERT index" to manually convert your tables before setting DB_INDEXSEQNO to true.