Projects:Prevent Cascade Constraint Deletion/QA
Code review: https://docs.google.com/spreadsheets/d/1RQ9E2vP_NfPlYRePP9P-q2YANzAn_-I139OkAMc3JDA/edit#gid=0
Some new automatic tests have been added to the DBSMTest project. These tests check the correct behavior of the constraint dropping and the row deletion with different combination of data structures and model structures.
The impact of the fix can be huge with a high volume environment because before this project, every FK referencing AD tables was being dropped and now this behavior has been restricted. Now only those FK which reference AD tables that have had deletion or insertion changes will be dropped and recreated.
Here are shown some numbers obtained before and after the project with in an environment without data:
Before the project:
- Constraint Dropping method: 493 milliseconds. - Constraint Recreation method: 834 milliseconds.
After the project:
- Constraint Dropping method: 42 milliseconds. - Constraint Recreation method: 3 milliseconds.
It is easy to see the great improvement which has been obtained and the performance improvements that will be obtained in a high volume environment.