Powodów może być wiele:
- Obciążenie serwera (mało prawdopodobne, ponieważ
SELECT
jest szybki) - Wyzwalacze (zobacz tutaj jak je wylistować do tabeli ).
- Klucze obce (Lista kluczy obcych i tabel, do których się odwołują )
- Dużo danych w każdym wierszu (
LOB
s, wiele kolumn). - Ktoś blokuje wiersze w tabeli, które chcesz usunąć (lub całą tabelę). Zobacz to wpis na blogu, jak wyświetlić listę blokad . Ta dyskusja może również pomóc.
Jeśli klucze obce stanowią problem, typowym rozwiązaniem jest dodanie indeksów do kolumny obcej:dla każdego usunięcia Oracle musi sprawdzić, czy nie naruszyłoby to relacji klucza obcego.