Оформление
Устранение неполадок с медленным обновлением - Справка FineReport | Разработка отчетов | Использование отчетов | Учебные пособия
Помощь в устранении неполадок при медленном обновлении
1. Обзор
В этой статье перечислены несколько распространенных медленных обновлений и даны рекомендации по их оптимизации.
2. длительное время обновления одной таблицы
2.1 Феномены
Многие пользователи обновляют только одну таблицу, но обновление одной таблицы занимает много времени.
2.2 Причины
Обновление небольшой отдельной таблицы приводит к обновлению всех связанных с ней таблиц, таблиц анализа и ассоциаций. Таким образом, простая задача обновления может вызвать обновление сотен таблиц, расположенных за ней.
Поэтому легко продублировать обновления, если пользователь настроил множество обновлений одной таблицы, а время выполнения задач все равно разнесено.
Например, таблица A имеет 100 связанных таблиц, а таблица B также имеет 100 связанных таблиц, 99 из которых такие же, как связанные таблицы таблицы A. Пользователь выполняет одно обновление таблицы A в 6:00 и таблицы B в 6:10. Пользователь выполняет одно обновление таблицы A в 6:00 и таблицы B в 6:10. В этом случае 99 таблиц обновляются один раз в 6:00, а затем повторяются в 6:10.
2.3 Решения
Пока обновляемые таблицы обновляются вместе, дублирования обновлений не будет, и система автоматически удалит их:
1) Попробуйте сделать глобальное обновление и использовать метод обновления всех данных раз в день, каждую ночь.
2) Если вам необходимо использовать обновление отдельных таблиц, обновляйте их вместе:
- До версии 2019-08-15: необходимо поместить обновляемую таблицу в бизнес-пакет и настроить задачу обновления для бизнес-пакета.
- Версия 2019-08-15 и далее: необходимо одновременно обновить только одну таблицу, не входящую в бизнес-пакет, и система подтянет их для обновления вместе.
3. медленное выполнение SQL
3.1 Феномены
Пользователи медленно обновляют данные после использования "SQL dataset, incremental update, incremental delete" , что требует ручной настройки SQL.
3.2 Причины
SQL выполняется медленно, и пользователям может потребоваться некоторое время для предварительного просмотра SQL-запросов в базе данных.
И во время обновления FineBI выполняются все эти SQL, так что это не быстрее.
3.3 Решения
Оптимизируйте операторы SQL.
4. медленное обновление из-за слияния левого и правого каналов
4.1 Феномены
Таблицы, в которых произошло объединение слева направо, обновляются медленно.
4.2 Причины
Функция слияния слева/справа больше похожа на оператор объединения в базе данных, мощный и неограниченный объем данных, который может быть выполнен.
Но после этого объем данных увеличится. Особенно если речь идет о N:N, возникнет декартово произведение, и таблицы в десятки миллионов могут перерасти в сотни миллионов.
Когда объем данных увеличивается, естественно, обновления происходят медленнее.
4.3 Решения
Несколько свойств слияния левого и правого:
intersection join (внутреннее соединение, 1:1) > left join (левое внешнее соединение, N:1) = right join (правое внешнее соединение, 1:N) >> union join (полное соединение, N:N)
Таблицы с небольшим объемом данных можно выбирать произвольно, а таблицы с большим объемом данных объединяются слева и справа:
- Если нет особой необходимости, старайтесь выбирать "слияние пересечений" и избегайте использования "слияния конкатенаций".
- Если вам нужно использовать "слияние и консолидацию", вы можете разделить большую широкую таблицу по столбцам и превратить ее в таблицу с меньшим количеством столбцов, чтобы объем данных не был таким преувеличенным после выполнения "слияния и консолидации".
5. оптимизация работы с набором данных самопомощи
5.1 Феномены
Наборы данных самопомощи с другим порядком шагов, но с теми же результатами, которые не обновляются одновременно.
5.2 Причины
Некоторые шаги в наборе данных Self-service, такие как "групповая сводка, объединение слева направо, объединение сверху вниз и сложные новые столбцы", имеют сложную логику вычислений.
Если пользователь сначала произвел "фильтрацию", эти сложные вычисления можно выполнить с меньшим объемом данных, что также уменьшает объем данных, раздуваемых при слиянии, и в конечном итоге сокращает время обновления.
5.3 Решения
Рекомендуется, чтобы пользователи выполнили простые операции, такие как "Фильтрация, сортировка и настройки полей", прежде чем переходить к сложным операциям, таким как "Группировка и суммирование, объединение и сложные новые столбцы".