Skip to content

Commit 681c463

Browse files
committed
fix: avoid full table scan when deleting
1 parent 9f0e70b commit 681c463

File tree

2 files changed

+23
-4
lines changed

2 files changed

+23
-4
lines changed

src/DIRAC/WorkloadManagementSystem/DB/JobDB.sql

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,8 +198,18 @@ BEGIN
198198
AND ApplicationStatus = OLD.ApplicationStatus
199199
AND MinorStatus = OLD.MinorStatus;
200200

201-
-- Optional cleanup (remove zero rows)
202-
DELETE FROM JobsHistorySummary WHERE JobCount = 0;
201+
-- Remove zero rows
202+
DELETE FROM JobsHistorySummary
203+
WHERE JobCount = 0
204+
AND Status = OLD.Status
205+
AND Site = OLD.Site
206+
AND Owner = OLD.Owner
207+
AND OwnerGroup = OLD.OwnerGroup
208+
AND VO = OLD.VO
209+
AND JobGroup = OLD.JobGroup
210+
AND JobType = OLD.JobType
211+
AND ApplicationStatus = OLD.ApplicationStatus
212+
AND MinorStatus = OLD.MinorStatus;
203213
END;
204214
//
205215

@@ -233,3 +243,5 @@ BEGIN
233243
END IF;
234244
END;
235245
//
246+
247+
DELIMITER ;

src/DIRAC/WorkloadManagementSystem/DB/PilotAgentsDB.sql

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,13 @@ BEGIN
106106
AND Status = OLD.Status
107107
AND VO = OLD.VO;
108108

109-
-- Optional cleanup (remove zero rows)
110-
DELETE FROM PilotsHistorySummary WHERE PilotCount = 0;
109+
-- Remove zero rows
110+
DELETE FROM PilotsHistorySummary
111+
WHERE PilotCount = 0
112+
AND GridSite = OLD.GridSite
113+
AND DestinationSite = OLD.DestinationSite
114+
AND Status = OLD.Status
115+
AND VO = OLD.VO;
111116
END;
112117
//
113118

@@ -136,3 +141,5 @@ BEGIN
136141
END IF;
137142
END;
138143
//
144+
145+
DELIMITER ;

0 commit comments

Comments
 (0)