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

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

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

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

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

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


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


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