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

Откуда:
Сообщений: 58
Всем привет,

сразу скажу - я не DBA, поэтому помидорами просьба не закидывать :)

Есть таблица с 12 млн записей. В ней делаются update'ы записей три раза в день (update set ... where param = ...).

До недавнего времени все было ок. Но несколько дней вот уже процесс стал занимать очень много времени. Т.е. если раньше выполнялся за час-два, то теперь выполняется по 5-6 часов.

Можно ли как-то выяснить причину тормозов и ускорить данный процесс (oracle'овыми хинтами или ещё-как нибудь)?

Спасибо :)
11 мар 09, 13:29    [6910641]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется update  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8131
Serge_HID
Можно ли как-то выяснить причину тормозов и ускорить данный процесс (oracle'овыми хинтами или ещё-как нибудь)?

Спасибо :)
Можно.

Пожалуйста :)

P.S. Полезная ссылка
11 мар 09, 13:37    [6910717]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется update  [new]
fast_true
Guest
/*+fast_true */
11 мар 09, 13:45    [6910778]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется update  [new]
slamovsky
Member

Откуда:
Сообщений: 142
fast_true
/*+fast_true */


:-) Если уже на то пошло, то /*+ fast_true */
11 мар 09, 14:42    [6911289]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется update  [new]
slamovsky
Member

Откуда:
Сообщений: 142
план выполнения покажите хотябы!
11 мар 09, 14:44    [6911298]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется update  [new]
A. S.
Member

Откуда: Донецк
Сообщений: 320
slamovsky
fast_true
/*+fast_true */


:-) Если уже на то пошло, то /*+ fast_true */


зачем каждый раз писать? По моему сразу надо сделать
alter system set fast=true scope=both;
11 мар 09, 15:31    [6911788]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется update  [new]
suPPLer
Member

Откуда: Харків, Україна
Сообщений: 7794
Блог
Serge_HID
сразу скажу - я не DBA, поэтому помидорами просьба не закидывать :)


Тогда пусть Вас закидает он. Узнайте у него, чего с этой таблицей происходило в последнее время, создавались/удалялись ли индексы/ограничения, не было массового добавления и удаления данных, когда в последний раз собиралась статистика по таблице и индексам... В общем, в путь. А потом возвращайтесь с информацией о таблице и её окружении, апдейте и его плане.

PS:
Serge_HID
Есть таблица с 12 млн записей. В ней делаются update'ы записей три раза в день (update set ... where param = ...).

Три раза в день можно треть таблицы менять. А можно две строки.
11 мар 09, 17:22    [6912760]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется update  [new]
delу еу
Guest
suPPLer,

а можно вообще три раза вдень делать апдейт но при єтом не менять ниодной строки :)
11 мар 09, 17:25    [6912786]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется update  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
Serge_HID
..

Можно ли как-то выяснить причину тормозов и ускорить данный процесс (oracle'овыми хинтами или ещё-как нибудь)?

Спасибо :)

1) выяснить - блокировки, план запроса, ресурсы сервера (конкуренция ?), ..
2) ускорить - всё (1) + параллелизм, дробление транзакций, секции (?), ..
11 мар 09, 18:04    [6913012]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется update  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
триггеры еще, туды их в качель..
11 мар 09, 18:09    [6913034]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется update  [new]
suPPLer
Member

Откуда: Харків, Україна
Сообщений: 7794
Блог
А вообще однозначно ускорит Ваш апдейт, исходя из данной Вами информации, следующий оператор:
TRUNCATE TABLE ВАША_ТАБЛИЦА_ИЗ_UPDATE;
Уверен, апдейт будет просто летать...
-------------------------------------------------------
When I say "RTFM" or "STFF" or "STFW",
the third letter means "Following" or "Fine"...
11 мар 09, 18:21    [6913096]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется update  [new]
gergo
Member

Откуда:
Сообщений: 224
Вам нужно научиться получать и разбирать планы выполнения запросов. Без этого пожалуй помочь Вам невозможно.

PS:Это нужно не только для DBA но и для программиста.
12 мар 09, 08:52    [6914310]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется update  [new]
gergo
Member

Откуда:
Сообщений: 224
suPPLer
А вообще однозначно ускорит Ваш апдейт, исходя из данной Вами информации, следующий оператор:
TRUNCATE TABLE ВАША_ТАБЛИЦА_ИЗ_UPDATE;
Уверен, апдейт будет просто летать...
-------------------------------------------------------
When I say "RTFM" or "STFF" or "STFW",
the third letter means "Following" or "Fine"...


Во первых это не корректно Вы же советуете убить данные, во вторых запрос в этом случае может существенно замедлиться, все зависит от фразы where в update, свежести статистики и поведения оптимизатора.
12 мар 09, 08:55    [6914313]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется update  [new]
Серафимный Шестикрыл
Member [заблокирован]

Откуда: С луны свалился
Сообщений: 2922
gergo
Во первых это не корректно Вы же советуете убить данные, во вторых запрос в этом случае может существенно замедлиться, все зависит от фразы where в update, свежести статистики и поведения оптимизатора.


Покажешь, как замедляется запрос ?
12 мар 09, 09:07    [6914350]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется update  [new]
gona
Member

Откуда:
Сообщений: 2
Сделай alter system set fast=true scope=both; и тогда все заработает. Ок?
-------
robosapien
12 мар 09, 10:06    [6914662]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется update  [new]
gergo
Member

Откуда:
Сообщений: 224
Серафимный Шестикрыл
gergo
Во первых это не корректно Вы же советуете убить данные, во вторых запрос в этом случае может существенно замедлиться, все зависит от фразы where в update, свежести статистики и поведения оптимизатора.


Покажешь, как замедляется запрос ?


Нет, обойдетесь.
12 мар 09, 10:54    [6914951]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется update  [new]
Серафимный Шестикрыл
Member [заблокирован]

Откуда: С луны свалился
Сообщений: 2922
gergo
Нет, обойдетесь.


Мальчик, не хами. А за свои слова надо уметь отвечать.
12 мар 09, 11:46    [6915461]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется update  [new]
suPPLer
Member

Откуда: Харків, Україна
Сообщений: 7794
Блог
gergo
suPPLer

Во первых это не корректно Вы же советуете убить данные, во вторых запрос в этом случае может существенно замедлиться, все зависит от фразы where в update, свежести статистики и поведения оптимизатора.

0. И не только данные. :)
1. Это вполне корректно в условиях поставленной задачи. Мой первый пост объяснял, что нужно выяснить и у кого. А второй - ответ на вопрос, "... можно ли как-то ... ускорить данный процесс (хинтами или ещё как-нибудь)". По предоставленной информации мой ответ - единственное, что не замедлит выполнение оператора в любых недосказанных условиях.
2. Вы уж постарайтесь показать, как TRUNCATE TABLE замедлит выполнение последующих DML-операторов с этой таблицей.
3. Не всё зависит от указанных Вами критериев. Ведь ТС не с однопользовательской БД работает (я надеюсь), лишь сам себя блокируя? Да и "умные" девелоперы и "экономные" АБД тоже иногда стирают индексы, сносят устаревшие данные простым DELETE... И не только с помощью WHERE-clause можно написать долгий UPDATE, подзапросы ещё никто не отменял в SET. Информации нужной по проблеме ноль, потому вариаций в ответах тьма.

PS: И ваапче, я надеюсь, что перед тем, как выполнять незнакомую команду из поста со смайликом, каждый прочитает в доке, что она делает. Доверчивым и лентяям - # rm -rf / .
12 мар 09, 18:14    [6918997]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется update  [new]
gergo
Member

Откуда:
Сообщений: 224
suPPLer

0. И не только данные. :)
1. Это вполне корректно в условиях поставленной задачи. Мой первый пост объяснял, что нужно выяснить и у кого. А второй - ответ на вопрос, "... можно ли как-то ... ускорить данный процесс (хинтами или ещё как-нибудь)". По предоставленной информации мой ответ - единственное, что не замедлит выполнение оператора в любых недосказанных условиях.
2. Вы уж постарайтесь показать, как TRUNCATE TABLE замедлит выполнение последующих DML-операторов с этой таблицей.

Вы же только что сам процитировали "все зависит от фразы where в update, свежести статистики и поведения оптимизатора" Взбрыкнуть может так что мало не покажется. При том что возможно включен job собирающий статистику, по части таблиц. Резкие изменения размеров таблиц что в сторону увеличения или уменьшения, могут привести к непредсказуемым последствиям в плохо настроенной системе.
suPPLer

3. Не всё зависит от указанных Вами критериев. Ведь ТС не с однопользовательской БД работает (я надеюсь), лишь сам себя блокируя? Да и "умные" девелоперы и "экономные" АБД тоже иногда стирают индексы, сносят устаревшие данные простым DELETE... И не только с помощью WHERE-clause можно написать долгий UPDATE, подзапросы ещё никто не отменял в SET. Информации нужной по проблеме ноль, потому вариаций в ответах тьма.

PS: И ваапче, я надеюсь, что перед тем, как выполнять незнакомую команду из поста со смайликом, каждый прочитает в доке, что она делает. Доверчивым и лентяям - # rm -rf / .

Не понял о чем третий пункт. В данном случае речь шла только о TRUNCATE, высасывать из пальца причины по которым замедлился запрос у автора темы я не собирался и не собираюсь.
А вот таким советчикам "Доверчивым и лентяям - # rm -rf /" очень желаю попасть в подобную ситуацию в незнакомой им теме.
13 мар 09, 06:19    [6920475]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется update  [new]
Серафимный Шестикрыл
Member [заблокирован]

Откуда: С луны свалился
Сообщений: 2922
gergo
suPPLer

2. Вы уж постарайтесь показать, как TRUNCATE TABLE замедлит выполнение последующих DML-операторов с этой таблицей.

Взбрыкнуть может так что мало не покажется. При том что возможно включен job собирающий статистику, по части таблиц. Резкие изменения размеров таблиц что в сторону увеличения или уменьшения, могут привести к непредсказуемым последствиям в плохо настроенной системе.


Конкретный вопрос: сделана команда TRUNCATE. Все.
Ожидаемый результат: запрос, выполнявшийся X ms стал выполняться Y ms,
Y >> X.
Покажи нам, убогим, пример.
А демагогию разводить не надо, тут таких "рассуждателей" - 12 на дюжину.
13 мар 09, 12:13    [6922092]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется update  [new]
suPPLer
Member

Откуда: Харків, Україна
Сообщений: 7794
Блог
gergo,

RTFM Using TRUNCATE.
13 мар 09, 15:23    [6924002]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется update  [new]
Серафимный Шестикрыл
Member [заблокирован]

Откуда: С луны свалился
Сообщений: 2922
suPPLer

RTFM Using TRUNCATE.


Это не поможет.
Там проблема в элементарном отсутствии чувства юмора и избыточно развитой фантазии
13 мар 09, 15:31    [6924112]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить