|
18.01.2019, 16:45 | #1 |
:o)
|
ax2009 Оптимизация производительности на больших объемах данных
Помогите советом:
может есть некое резюме на форуме или у кого-то лично 1. шаги оптимизации кода, в т.ч. при больших объёмах данных т.е. какие есть рекомендации в принципе по оптимизации производительности, что-то вроде: - убрать транзакцию внутрь цикла, - не использовать внутри цикла find, кот вытаскивает все поля таблицы, а использовать select с упоминанием только необходимых полей - для группы (не группировки) данных использовать цикл с сортировкой и анализировать изменение значения поля, которое используется в условии селекта, например из предыдущего пункта, т.е. делать очередной select только при возникновении ситуации со сменой значения, используемого в условии 2. советы по оптимизации технической: обрезание данных (какая периодичность) разбиение заказов, строк накладных, слияние строк накладных/заказов с одинаковой номенклатурой.
__________________
"Только на Бога не может быть обиды - если смерть пошлет, значит, жизни пришел предел, на то рождался,- а за все остальное на Земле есть и должен быть спрос!." Чингиз Торекулович Айтматов. Последний раз редактировалось jeky; 18.01.2019 в 17:07. Причина: уточнение |
|
19.01.2019, 12:23 | #2 |
Участник
|
Самый главный очевидный и простой, но к сожалению не всегда применяемый совет - это уделять большое внимание индексам.
Отсутствие подходящих индексов замедляет чтение данных, злоупотребление индексами замедляет редактирование данных. Встречал ситуации когда выгодным было даже временное создание нужного индекса. Т.е. время на индексацию таблицы + само выполнение запроса с использованием подходящего индекса было много меньше чем время выполнение запроса без такого индекса. Оставлять такой индекс на постоянной основе или нет это уже второй вопрос, касающийся не скорости чтения а скорости записи данных. |
|
20.01.2019, 11:42 | #3 |
NavAx
|
Цитата:
Заодно, при каждом архитектурном решении надо задавать вопрос: "А что будет через год?". Видел не одно такое внедрение, когда через полгода работы оказывалось, что размер базы под несколько терабайт, все тормозит, как удав по стекловате, а тётушки из какого-нить отдела кричат: "А нам все данные за все года нада!" А там строки розничных чеков, непонятно, вообще, нафига они в Аксапте - лежат в одной табле. И логирование каких-нить проводок в ГК включено. И до кучи, кластерный индекс по натуральному ключу с разной номерной серией в разных компаниях из какого-нить самописного казначейства имеется.
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты... |
|