2016-12-01 7 views
0

Я написал хранимую процедуру на сервере firebird. Эта процедура используется на нескольких разных серверах и базах данных. На одном из них процедура выполняется очень медленно (несколько часов), где на других серверах через 3-5 секунд. Индексы в каждой базе данных одинаковы.Сохраненная процедура в firebird выполняется очень медленно

Неужели кто-нибудь из вас столкнулся с такой проблемой? Мы сделали резервную копию и восстановили базу данных, но это не помогло.

+0

Проверьте конфигурационный файл firebird.conf, если есть разница по сравнению с другими серверами (с использованием FileSystemCache? Имеется ли достаточная свободная память) – Majkl

+0

Являются ли базы данных сопоставимого размера, т.е. число записей, с которыми работает SP, находится в одном порядке? – ain

+0

Возможно, вам захочется пересчитать статистику индексов и воссоздать хранимую процедуру. –

ответ

1

Когда у меня были такие проблемы, это была либо поврежденная база данных (SELECT за столом с 10 записями длилась несколько минут), либо просто необходим пересчет статистики индекса. Попробуйте проверить и исправить базу данных с помощью gfix. Если пересчет статистики индекса помог, подумайте о том, чтобы добавить план в свою инструкцию SQL

Смежные вопросы