|
![]() |
#1 |
Участник
|
Цитата:
Сообщение от Константин!
Все понятно занчит, что ускорить втсавку в стаблицы надо Отключать определенные FlouFields и оптемизировать ключи (что и советовал Mazzy).
Объесните пожалуста суть всех дополнительных галочек в ключе т.к я это все понимаю очень поверхностно и могу чего нибуть испортить. MaintainSQLIndex-? MaintainSIFTIndex-? SIFT Levels To Maintain-? Рассмотрим 2 стандартных ключа для 17й таблицы: 1) G/L Account No.,Business Unit Code,Global Dimension 1 Code,Global Dimension 2 Code,Close Income Statement Dim. ID,Posting Date,Agreement No. 2)G/L Account No.,Business Unit Code,Global Dimension 1 Code,Global Dimension 2 Code,Posting Date,Agreement No. Набор SIFT полей для данных ключей одинаковый : Amount,Debit Amount,Credit Amount,Additional-Currency Amount,Add.-Currency Debit Amount,Add.-Currency Credit Amount Итак. когда происходит запись в таблицу все 6 суммовых полей должны быть пересчитаны для всех уровней обоих ключей. Несложно заметить что первые 4 уровня - "G/L Account No.,Business Unit Code,Global Dimension 1 Code,Global Dimension 2 Code" в обоих ключах одинаковы... соответственно идём в свойство 2го ключа и отключаем для этих 4х уровней галочку Maintain. Т.е. убираем элементарное дублирование... Что произойдёт когда в коде будет явно использоваться 2й ключ и пойдёт расчёт CALCSUM(Amount) по полям "G/L Account No.,Business Unit Code,Global Dimension 1 Code" !? Движок определив что данный уровень для данного ключа отключён, возьмёт расчитанные суммы из первого ключа - ведь они там хранились бы одинаковые... Вообщем это самый быстрой способ немного ускориться абсолютно никак не рискуя потерять в производительности... |
|