Difference between revisions of "Optimizing Indexes using SYNCNUM"
Yvonnemilne (Talk | contribs) |
Yvonnemilne (Talk | contribs) |
||
Line 18: | Line 18: | ||
− | For more information please see the [[CONVERT]] command. | + | For more information please see the [[CONVERT]] command and [[dbconvert]] 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 "[[dbconvert]] index" or "[[CONVERT]] index" to manually convert your tables before setting [[DB_INDEXSEQNO]] to true. | 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 "[[dbconvert]] index" or "[[CONVERT]] index" to manually convert your tables before setting [[DB_INDEXSEQNO]] to true. |
Revision as of 16:25, 24 March 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 9 tables can be populated using the dbconvert utility and the CONVERT command. The dbconvert utility is used from the operating system prompt:
$ dbconvert index <table name>.dbf
or, to convert all dbf files in the current directory:
$ dbconvert index
For more information please see the CONVERT command and dbconvert 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 "dbconvert index" or "CONVERT index" to manually convert your tables before setting DB_INDEXSEQNO to true.</pre>