Показать сообщение отдельно
Старый 23.07.2014, 13:40   #2  
Napalm is offline
Napalm
Участник
 
80 / 88 (3) ++++
Регистрация: 23.05.2012
Цитата:
3. Большие и ресурсоемкие запросы связанные с выборкой всех полей таблицы

Это возможно самая распространенная проблема имеющая большое влияние на производительность, но в то же время ее проще всего обнаружить и исправить. Используйте Exist Join и перечисление полей, всегда когда это возможно. Убедитесь, что в каждой выборке в коде указаны только необходимые поля. Та же идея с использованием exist join в выборке когда это возможно, для уменьшения объема данных передаваемых между AOS и базой данных. Это особенно актуально когда при модификации на существующие таблицы добавляется много новых полей.

Например, код:

X++:
While select TableA
              {  Select TableB where TableB.FieldA == TableA.FieldA;
                 Print TableB.FieldB;
              }
Заменить на следующий:

X++:
              While select FieldA from TableA Join FieldA, FieldB from TableB
              Where TableB.FieldA == TableA.FieldA;
              {
   Print TableB.FieldB;
              }
Ай да молодцы! Ай да пофиксили!
За это сообщение автора поблагодарили: macklakov (3), S.Kuskov (1), kornix (1).