Il peut y avoir plusieurs raisons :
- Charge du serveur (peu probable car le
SELECT
est rapide) - Déclencheurs (voir ici comment les lister pour une table ).
- Clés étrangères (Liste des clés étrangères et des tables auxquelles elles font référence )
- Beaucoup de données dans chaque ligne (
LOB
s, plusieurs colonnes). - Quelqu'un verrouille les lignes du tableau que vous souhaitez supprimer (ou le tableau entier). Voir ceci article de blog expliquant comment répertorier les verrous . Cette discussion pourrait également aider.
Si les clés étrangères sont le problème, la solution habituelle consiste à ajouter des index sur la colonne étrangère :pour chaque suppression, Oracle doit vérifier si cela violerait une relation de clé étrangère.