15.11.2005, 14:48 | #1 |
Участник
|
Ускорение выполнения запроса Oracle + MS Axapta
Всем привет!
Проблема: как ускорить быстродействие выполнения запроса цивилизованным методом??? Наличие индекса DATAAREAID снижает скорость выполнения запроса в 50 раз (24 ч. и 30 мин.). Однако, без этого поля я не могу дублировать данные компании в системе Аксапта (одна таблица на все компании). Варианты решения проблемы: 1. Отключаю на всех критичных таблицах параметр SaveDatePerCompany. И работаю только в одной компании. Минусы: 1. В качестве дублирования данных я могу использовать только механизм DUMP системы Oracle 2. Т.к. компания одна, а транзакций целая туча RECID быстро переполнится (1 год) Плюсы: 1. Скорость выполнения запросов приемлимая 2. Очень дикий способ: пусть на всех таблицах стоит параметр SaveDatePerCompany. 2.1. Я средствами Oracle очищаю индексы от DATAAREAID на критичных таблицах 2.2. Запускаю необходимый запрос 2.3. Восстанавливаю индексы DATAAREAID средствами Oracle (синхронизация базы данных в MS Axapta приводит к аналогичному результату) Минусы: 1. Реакция MS Axapta непредсказуемая (хотя у меня всё проходило успешно) Плюсы: 1. Скорость выполнения запросов приемлимая 2. RECID нас не ограничивает, т.к. кол-во компаний не ограничено Подскажите как можно заменить 2 способ на более цивилизованный??? Всем спасибо |
|