Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Долго выполняется элементарный запрос  [new]
legg
Member

Откуда: Москва
Сообщений: 6599
выполняем
select count(1) from object_locks
через 714,047 секунд получаем
no rows selected
(таблица в самом деле пустая).
Запросы к другим таблицам схемы отрабатывают нормально
Как выяснить причину столь долгого выполнения запроса?
26 мар 08, 11:46    [5460397]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется элементарный запрос  [new]
.dak
Member

Откуда: Москва
Сообщений: 38
legg
выполняем
select count(1) from object_locks
через 714,047 секунд получаем
no rows selected
(таблица в самом деле пустая).
Запросы к другим таблицам схемы отрабатывают нормально
Как выяснить причину столь долгого выполнения запроса?


сделать truncate table object_locks..
и потом запрос
select count(1) from object_locks будет летать
26 мар 08, 12:00    [5460511]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется элементарный запрос  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8131
Предполагаю, что когда-то эта таблица была "очень полная".
Потом ее почистили командой DELETE и она стала "пустой".
Но при этом High Water Mark (HWM) осталась там же, где была до очистки таблицы.
Если есть возможность, то выполните
ALTER TABLE object_locks MOVE ...
Это опустит HWM вниз, и будете получать no rows selected мгновенно...
26 мар 08, 12:00    [5460515]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется элементарный запрос  [new]
Мои 5 копеек...
Guest
legg
Как выяснить причину столь долгого выполнения запроса?

Есть такая штука в оракле, называется HWM - планка максимального заполнения. Когда в таблицу идет постоянная вставка - эта планка постепенно поднимается, и select count проходит по всей таблице до этой планки. Когда из таблицы происходит удаление посредством delete - данные стираются, а планка остается на том же месте. Оператор truncate, например, сбрасывает эту планку. Но в транзакциях им пользоваться не стоит, т.к, если память мне не изменяет он делает неявный commit.
26 мар 08, 12:10    [5460599]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется элементарный запрос  [new]
legg
Member

Откуда: Москва
Сообщений: 6599
спасибо большое. все верно:).
26 мар 08, 12:38    [5460841]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить