Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / помогите с update / 8 сообщений из 8, страница 1 из 1
02.11.2005, 15:45
    #33357965
Perederiy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с update
есть таблица t1 с несколькими миллионами записей
индекс по t1_id
делаю select plo*1 as plo from t1 where t1_id=55555
выбирает мгновенно
делаю update t1 set plo=plo*1 where t1_id=55555
работает ооочень медленно.
Что делать ?
Помогите .
update в принципе не использует индексы ?
...
Рейтинг: 0 / 0
02.11.2005, 16:45
    #33358208
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с update
приведите пожалуйста выдачи

explain analyze select plo*1 as plo from t1 where t1_id=55555

explain analyze update t1 set plo=plo*1 where t1_id=55555
...
Рейтинг: 0 / 0
02.11.2005, 16:49
    #33358219
4321
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с update
авторработает ооочень медленнота вероятно другой юзер или он сам себя из другого сеанса лочит, а планы то должны быть одинакие
...
Рейтинг: 0 / 0
02.11.2005, 17:00
    #33358270
Perederiy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с update
с select

"Index Scan using pkcontragentteplo on contragentteplo (cost=0.00..5.86 rows=1 width=11) (actual time=130.702..130.723 rows=1 loops=1)"
" Index Cond: (contragentteplo_id = 5218781)"
"Total runtime: 130.867 ms"

с update

"Index Scan using pkcontragentteplo on contragentteplo (cost=0.00..5.86 rows=1 width=246) (actual time=0.514..0.526 rows=1 loops=1)"
" Index Cond: (contragentteplo_id = 5218781)"
"Total runtime: 3136.118 ms"
...
Рейтинг: 0 / 0
02.11.2005, 17:06
    #33358297
4321
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с update
вот интересно, если там у него триггеров 3 килограмма, да переписывают они каскадно с 10-ок таблиц, ведь в плане запроса это не проявится?
...
Рейтинг: 0 / 0
02.11.2005, 17:38
    #33358408
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с update
4321вот интересно, если там у него триггеров 3 килограмма, да переписывают они каскадно с 10-ок таблиц, ведь в плане запроса это не проявится?да, возможно дело в этом. проверьте триггеры и констрейнты с/на эту таблицу.
...
Рейтинг: 0 / 0
03.11.2005, 09:47
    #33359243
Perederiy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с update
Извините протупил
дело в том что update в триггере дочерней таблицы который меняет родительскую, которая в свою очередь меняет дочернюю.
Вообщем замкнутый круг получается .
...
Рейтинг: 0 / 0
03.11.2005, 11:42
    #33359614
4321
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с update
Perederiyдело в том что update в триггере дочерней таблицы который меняет родительскую, которая в свою очередь меняет дочернюю.
Вообщем замкнутый круг получается .гы-гы-гы.

Вообщето циклический триггер (при бесконечном цикле), помнится, завершается ошибкой. Причем "довольно быстро". У вас таки похоже просто длинный каскад, но "разорванный" (например за счет съезжания по каскадируемым записям из-за изменения условий).
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / помогите с update / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]