![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
База FB тормозит [D7, FB 1.5]
Ярослав © (2005-06-01 07:54:00)Подскажите с какой частотой следует собирать статискику индексов, и перекомпилировать ХП.
Есть небольшая БД примерно 30МБ в таблицах примерно по 40000-60000 записей, и вот она переодически начинает тормозить, после сбора статистики индексов и перекомпиляции ХП и триггеров все нормально, но если раньше это приходилось делать раз в месяц а то и реже, то теперь каждую неделю... не слишком ли часто?
В базе давольно интенсивно используеться один запрос для которого создана псевдо временная таблица, т.е. в одну транзакцию перед выполнением действий в нее добавляются записи а по окончании запроса удаляются из нее, а записей добавляется в нее довольно много.
Может она как то влиять на все?
Desdechado (2005-06-02 13:36:00) [41]думаю, что логичнее запрос заменить на ХП, а временную таблицу - на FOR SELECT
Prohodil Mimo (2005-06-02 12:25:00) [42]Ярослав (01.06.05 10:40) [8]
а временную таблицу на индексы нельзя заменить? Индексы тоже не слабо помогают.
Zacho (2005-06-01 11:34:00) [43]Desdechado © (01.06.05 10:52) [9]
можешь для эксперимента вызывать select count(*) from vremennayatablica
Только при этом нужно, чтобы записи в этой таблице не удерживались другими транзакциями.
А "торможения", действительно, скорее всего из-за накопления мусора во "временной" таблице
Desdechado (2005-06-01 10:52:00) [44]организуй сборку мусора планировщиком по ночам (gfix)
можешь для эксперимента вызывать select count(*) from vremennayatablica - тоже сбрасывает счетчики использования у удаленных записей
Ярослав (2005-06-01 10:40:00) [45]stud © (01.06.05 10:03) [7]
А при чем тут временная таблица?
Запрос раньше работал без нее и я прекрасно помню сколько он работал, дак использование временной таблици увеличило скорость выполнения аж более чем в 100 раз!!!
Возможно запрос был изночально не правильно спроектирован, но он есть и он огромный, страниц десят текста если его весь развернуть, включая все используемые XP. В нем производиться довольно сложный расчет.
Без временной таблицы он выполнялся приблицительно 3 мин. а с ней мгновенно.
stud (2005-06-01 10:03:00) [46]
> Это перекомпиляцию надо пологать?
нет это временную таблицу
Ярослав (2005-06-01 09:45:00) [47]> Убери второе и посмотри время.
Это перекомпиляцию надо пологать?
Johnmen (2005-06-01 09:41:00) [48]>а после сбора статистики и перекомпиляции все возращаеться на свои места.
Это ничего не доказывает. Убери второе и посмотри время.
>Кстати если все дело в сборке мусора то Backup/Restore должно помочь?
Должно.
Ярослав (2005-06-01 09:38:00) [49]> Это иллюзия.
Как иллюзия, когда запрос выполняеться в несколько раз быстрей.
В нормальном режиме он должен выполняться мгновенно, однако если начинает тормозить то дело может доходить до 30 и болие секунд, а после сбора статистики и перекомпиляции все возращаеться на свои места. Вот только делать это приходиться все чаще.
Но все таки 30 секунд это не иллюзия
Кстати если все дело в сборке мусора то Backup/Restore должно помочь?
Я конечно проверю, но неделю ждать долго до новых ожидаемых тормозов, хотелось бы быть уверенным.
Johnmen (2005-06-01 09:26:00) [50]>Ярослав (01.06.05 09:22) [2]
>Это в IBExpert есть, помогает ведь... хоть на некоторое время.
Это иллюзия.
>Это как чейто не понял?
Просчёты в проектировании.
А так, не хочешь читать, не читай. Мне то что...
Ярослав (2005-06-01 09:22:00) [51]> Johnmen © (01.06.05 09:08) [1]
ibase.ru конечно прочитаю, но юзеры не ждут, они же порвут меня...
> перекомпилировать ХП.
> Это ещё зачем ? Кто надоумил ?
Это в IBExpert есть, помогает ведь... хоть на некоторое время.
> Временные таблицы - признак проблем в консерватории, как правило :)
Это как чейто не понял?
Johnmen (2005-06-01 09:08:00) [52]>перекомпилировать ХП.
Это ещё зачем ? Кто надоумил ?
Временные таблицы - признак проблем в консерватории, как правило :)
Да и вообще, дело не в индексах, а в сборке мусора.
Читать от корки до корки ibase.ru