2012-02-27 3 views
1

У меня была таблица test, имеющая 25000 строк в Oracle 11g. Я дал заявление Delete как следует.Устранение лишнего времени в Oracle11g

delete from test; 

Этот запрос запущен более 5 минут, но по-прежнему не выходит, и сообщений об ошибках также не получено. Может кто-нибудь сказать мне, что может быть проблемой?

+0

Могу ли я использовать 'truncate'? – turbanoff

+2

Существуют триггеры, определенные на таблице? Есть ли внешние ключи, которые ссылаются на 'TEST'? Если вы удаляете все строки в таблице, есть ли причина, по которой вы не выполняете 'TRUNCATE' таблицу, а не выполняете' DELETE'? Вам нужно, чтобы 'DELETE' был транзакционным? –

+0

nope !! В этой таблице нет триггеров. –

ответ

3

попробовать

delete from test nologging; 
+0

thx для вашего ответа. –

1

Если вы используете delete без фильтра, вы лучше использовать truncate, как turbanoff сказал. Также по моему опыту, используя delete from table в каком-то скрипте, вы вызываете симптомы, которые у вас есть.