powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Страшно медленный Update - что делать ?
10 сообщений из 10, страница 1 из 1
Страшно медленный Update - что делать ?
    #33165921
Perederiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PostgreSQL 8.0.1
таблица 2 миллиона записей
делаю
update table1 set column1=1
уже идет минут 5 - мона выпить кофе
Куда копать ? Почему все так долго ?
На FoxPro 2.6 for DOS это дело занимает секунды.
...
Рейтинг: 0 / 0
Страшно медленный Update - что делать ?
    #33166056
wbear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и даже Vacum не помогает?
...
Рейтинг: 0 / 0
Страшно медленный Update - что делать ?
    #33166316
puzzle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
потому что ты обновляешь все 2 миллиона записей
...
Рейтинг: 0 / 0
Страшно медленный Update - что делать ?
    #33166369
Meta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
puzzleпотому что ты обновляешь все 2 миллиона записей
...
Рейтинг: 0 / 0
Страшно медленный Update - что делать ?
    #33166390
Meta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще, при изменении данных в таблице без индексов прослеживается линейная зависимость...

Запрос успешно завершён: строк изменено: 2000000, время: 61516 мс.
Запрос успешно завершён: строк изменено: 1000000, время: 29999 мс.

Если есть индексы, то время, конечно, больше :)
У меня комп. 2 ГГц, если посчитать кол-во тактов, кот. тратится на изменение одного значение в строке, то получиться примерно ~60...
Вполне достойно, думаю :)
...
Рейтинг: 0 / 0
Страшно медленный Update - что делать ?
    #33166669
Perederiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так че делать ?
или это врожденное свойство PostgreSQL ?
...
Рейтинг: 0 / 0
Страшно медленный Update - что делать ?
    #33166876
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы сказал, что это врожденное свойство любой БД, которая содержит индексы, которые приходится перестраивать.

Метод решения:
1. Грохнуть индекс по требуемому полю.
2. Обновить его.
3. Создать новый индекс.
...
Рейтинг: 0 / 0
Страшно медленный Update - что делать ?
    #33167244
Нонайм
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ещё можно грохнуть форейн кеи из таблиц - которые ссылаются на эту таблицу, а также отключить все тригера на этой таблице
- потом всё включить
...
Рейтинг: 0 / 0
Страшно медленный Update - что делать ?
    #33167312
фффф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это врожденное свойство PostgreSQL. Для версионника UPDATE - это всё равно что INSERT, делается копия всех измененных строк - т.е. при полном обновлении таблица растет в 2 раза. Плюс все изменяемые страницы пишутся в лог. Если изменения страниц данных/индексов пишутся через дисковый кэш и при достаточном объеме оперативки не тормозят, то лог пишется напрямую на диск. Но конечно, перестройка индекса тоже влияет.

Выход - нормализовать базу (уменьшается размер отдельной строки), а лучше исключить частое обновление всей таблицы в принципе.
...
Рейтинг: 0 / 0
Страшно медленный Update - что делать ?
    #33167852
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
фффф
Выход - нормализовать базу (уменьшается размер отдельной строки),

кхм. И тем самым увеличить количество проверок зависимостей и т.п. при апдейтах??? (правда при использовании для связи никогда не обновляемых суррогатов это возражение снимается).


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


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