SET INTEGRITY does currently not make use of intrapartition parallelism.
SET INTEGRITY (with "checked" option) for large tables and/or tables with many foreign key and/or check constraints consumes a large amount of time while the table is not accessable.
We have very large tables (> 10 billion rows) in a non DPF environment with some RI constraints. Especially for one of those big tables it takes about 13-22 hours to complete. As there are further tables having dependencies on it, the whole run for the database takes about 2 days.
Our db server has more than 90 CPU cores. Without parallelism SET INTEGRITY may not use available system ressources effectively.
|Who would benefit from this IDEA?||every customer with RI constraints; SET INTEGRTIY after load operations occur quite often. A good performance of SET INTEGRITY is important to minimize times during tables are not accessable.|
How should it work?
SET INTEGRITY should use the configured intrapartition parallelism or accept and optional parameter to configure parallelism in the command itself.
|Priority Justification||huge OLTP databases with many RI constraints and nearly 24/7 availability requirements need RI checking within a short time frame.|
|Customer Name||Allianz Technology SE|
NOTICE TO EU RESIDENTS: per EU Data Protection Policy, if you wish to remove your personal information from the IBM ideas portal, please login to the ideas portal using your previously registered information then change your email to "firstname.lastname@example.org" and first name to "anonymous" and last name to "anonymous". This will ensure that IBM will not send any emails to you about all idea submissions