REINDEX

Эридан
Дата: 20.07.2004 16:03:47
Подскажите, люди добрые...

Как часто надо делать реиндекс на раз-в-день-изменяющихся таблицах?
Надо ли вообще? (в руководстве написано, что это надо делать при повреждении индекса)

Сегодня столкнулся с тем, что запрос выполнялся через seq scan, тогда как через индекс было бы (по идее) в сто раз быстрее. Сделал реиндексацию - помогло. Оптимизатор прикалывается?

Можно ли сделать реиндекс стандартным скриптом, вроде как вакуум делается с помощью ./bin/vacuumdb?
ГАГН 2
Дата: 05.08.2004 19:50:32
а vacuum analyse выполнялся для таблицы?
Эридан
Дата: 06.08.2004 02:18:05
Выполнялся. Проблема по всей видимости заключается в том, что эта таблица используется таким образом: сначала из нее сносятся все записи, потом заполняются заново (полная реиндексация сайта). При малом количестве записей seq scan выполняется быстрее, поэтому и применяется, а потом, когда количество записей прыгает до 600000 - похоже глюкает оптимизатор?
eddie
Дата: 07.08.2004 13:26:15
если полностью обновлятся - имхо лучше делать так:
- удаляем индексы
- обновляем
- создаем индексы
Эридан
Дата: 08.08.2004 20:01:48
Проблема в следующем: обновление зависит от уже содержащихся в обновляемой таблице слов. К примеру: если искомое слово содержится в таблице - увеличить счетчик связанный с этим словом, иначе - добавить запись в таблицу. Поэтому индексы нужны, сиречь удалять их нельзя.