Si cette requête prend du temps :
delete from PlanItems p where p.jobId = :jobid
et vous avez un index sur PlanItmes(jobId)
-- où jobId
est la première colonne de l'index ; vous devez alors prendre en compte d'autres problèmes.
-
Existe-t-il des contraintes de clé étrangère en cascade qui utilisent
jobId
? Si tel est le cas, les cascades peuvent avoir un impact sur ces tables - et s'il s'agit de suppressions en cascade, la suppression de ces lignes peut affecter davantage de tables. -
Y a-t-il un déclencheur de suppression sur la table ? Si tel est le cas, vos suppressions "simples" peuvent faire beaucoup plus de travail que vous ne le pensez.
-
Y a-t-il une lourde charge sur le système ? Si c'est le cas, le temps peut simplement attendre une opportunité de supprimer les lignes.
-
Les vues matérialisées sont-elles construites sur la table ? Si tel est le cas, ils sont peut-être en cours d'actualisation.
Si rien de tout cela n'est le cas, cela pourrait être un problème sur la façon dont vous mesurez le temps écoulé.