[Improvement] Tracking: Add usr_id Index to ut_lp_marks #10961
+50
−3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Performance Optimization: Add Single-Column Indexes for User Deletion Queries
The user deletion process (
ilObjUser::delete()) exhibits performance issues, particularly when deleting users with extensive learning progress. Analysis of the deletion flow reveals that critical DELETE queries are executed without optimal index support.ilObjUserTracking::_deleteUser()executes:ut_lp_markshas a compositePRIMARY KEY (obj_id, usr_id), but no single-column index onusr_id. Sinceusr_idis not the leading column in the primary key, MySQL cannot efficiently use this index for queries filtering only onusr_id, resulting in inefficient table scans or range scans over the clustered index.Related to https://mantis.ilias.de/view.php?id=31664