Jeśli to zapytanie zajmuje dużo czasu:
delete from PlanItems p where p.jobId = :jobid
i masz indeks na PlanItmes(jobId)
-- gdzie jobId
to pierwsza kolumna w indeksie - musisz rozważyć inne kwestie.
-
Czy istnieją kaskadowe ograniczenia kluczy obcych, które używają
jobId
? ? Jeśli tak, kaskady mogą wpłynąć na te tabele – a jeśli kaskadowo usuwają, usunięcie tych wierszy może wpłynąć na więcej tabel. -
Czy w tabeli jest wyzwalacz usuwania? Jeśli tak, twoje "proste" usuwanie może wykonywać o wiele więcej pracy, niż myślisz.
-
Czy system jest mocno obciążony? Jeśli tak, czas może po prostu czekać na możliwość usunięcia wierszy.
-
Czy na stole budowane są widoki zmaterializowane? Jeśli tak, mogą być odświeżane.
Jeśli żadna z tych sytuacji nie występuje, może to być problem z pomiarem czasu, który upłynął.