24.04.2016, 17:49 | #1 |
Участник
|
Улучшение производительности
Подскажите как вы оптимизируете запросы к базе данных.
Есть несколько форм которые используют как источник данных View в которой объединены несколько таблиц, каждая по несколько миллинов записей в каждой. Открываются вплоть до минуты. Делаю трейс, нахожу самый тяжелый запрос, загружаю его в SQL, анализирую план выполнения, создаю индексы которые SQL рекомендует. Никаких изменений, иногда даже становится дольше , что еще можно проверить ? По самим индексам которые рекомендует SQL вопросы: 1. Часто предлагает создать индекс по нескольким полям, но DataAreaId и Partition среди них нет. 2. Предлагает создать некластерный индекс по AccountNum на VendTable, хотя там уже такой кластерный есть. Что в таких случаях делать ? Почему точно такой же запрос с параметрами который в Аксапте выполняется за 1 минуту в SQL иногда зависает на почаса+ ? Как надежней тестрировать новые индексы, создавая их в SQL и запуская запросы там же, или через АХ? Спасибо.
__________________
_databaseTransDelete ... bl@$ ! |
|