Add index on Job Service tables Timestamp column. #2453
Merged
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.
The Job Service database uses a trigger to invoke a small stored procedure to delete all entries in the
jobservice
andjobsets
tables that have theirtimestamp
column older than thepurgeTime
configuration value (value is in seconds). This trigger is fired upon each insert to thejobsets
table, so the deletes in this proc must be as fast as possible. This change adds an index to thetimestamp
column of both tables. Manual testing shows a considerable speedup when the tables have 50k or more rows, usingEXPLAIN ANALYZE DELETE from .. WHERE...
.Also, refactor the table creation logic to make more compact and eliminate repetition of db.Exec(), etc,.
┆Issue is synchronized with this Jira Task by Unito