Salesforce

Is it expected that IDXCHECK Option 3 detects 1422 issues but takes longer than IDXFIX Option 3?

« Go Back

Information

 
TitleIs it expected that IDXCHECK Option 3 detects 1422 issues but takes longer than IDXFIX Option 3?
URL NameIs-it-expected-that-idxcheck-option-3-detects-1422-issues-but-takes-longer-than-idxfix-option-3
Article Number000174761
EnvironmentProduct: OpenEdge
Version: 10.1C, 10.2B, 11.x, 12.x
OS: All supported platforms
Other: idxcheck, idxfix
Question/Problem Description
Is it expected that IDXCHECK Option 3 detects 1422 issues but takes longer than IDXFIX Option 3?
 
Steps to Reproduce
Clarifying Information
Error Message
Defect NumberEnhancement PSC00330751
Enhancement Number
Cause
Historically, the validation options have not been clear. A Documentation defect has been logged to have this information updated in a future release of the OpenEdge documentation.  As a result, this information is available in the following Documentation:
OpenEdge Data Management: Database Administration > Maintaining and Monitoring Your Database > Managing Performance > Index use > Index utilities
 https://docs.progress.com/bundle/openedge-database-management/page/Index-utilities.html   
Resolution
It is not unexpected that IDXCHECK Option 3 detects 1422 issues but takes longer than IDXFIX Option 3.  The utilities process the comparable Options in a different order.  Execution time varies with where/what the corruption is on and therefore which utility will report it in a shorter period of time:
  • IDXCHECK processes Options 1 & 2 first, then processes Options 3 & 4
  • IDXFIX with Option 3 processes Option 2 (the same as Option 3 in IDXCHECK) first, then Option 1 (the same as Options 1 & 2 in IDXCHECK).

To Recap:

Online IDXCHECK:

Validation Options:
1 - physical consistence of index blocks    # on by default
2 - validate keys for each record           # on by default
3 - validate record for each key
4 - Validate key order (since 10.1C01)      # on by default
...
L - Lock tables during the check                      

Online IDXCHECK Process Order:

  1. Option 1 & 2 (scan records)
  2. Option 3 & 4 (scan indexes)
Option 4 detects physical index corruption in addition to validating key order
  • This option also detects physical index corruption (as opposed to logical corruption for missing entries in other validation options), which is why an IDXBUILD may be required. This is the only means of correcting physical index corruption.
  • Running Option 4 online may generate false positives, which is why "Option: L"  was added. Refer to Article: What are the implications of the online IDXCHECK locking options?  
  • When Option 4 detects errors online, it is advisable to run it again with Option L (Table Lock) to get eliminate false positives. Refer to Article:  IDXCHECK: Key is out of sequence error 8781 after online IDXFIX   

Online IDXFIX:

Validation Options:

1.  Scan records for missing index entries.
2.  Scan indexes for invalid index entries.
3.  Both 1 and 2 above.
 

Online IDXFIX Process Order:

  1. Option 2 (scan indexes): Scan index first same as IDXCHECK Option 3; and as IDXCHECK Option 3 & Option 4 (if offline)
  2. Option 1 (scan records):  Same as Option 1 & 2 in IDXCHECK
Running Option 3 (indexes and records) when indices and data are in two different Areas, since IDXFIX can selectively be run to fix the index: "Fix indexes on Scan", false positive are not ideal. It is better either:
  1. Select all indexes: "All           (a/A) - Choose all the indexes", or
  2. Run either Option 1 OR Option 2 and provide it with an Area number for the indexes not the table: "By Area       (r/R) - Choose indexes in selected areas" IDXFIX will get the matching record for the selected index found in the Area that supplied by the user.
 
 
Workaround
Notes
Keyword Phrase
Last Modified Date11/20/2020 6:56 AM

Powered by