Керівництво з продуктивності
Керівництво з продуктивності описує кращі практики налаштування правил відбору в системі.
При роботі з великими акаунтами швидкість вибірки даних безпосередньо залежить від того, наскільки ефективно налаштовані умови фільтрації. Нижче наведено ключові принципи та рекомендації щодо створення швидких правил відбору для Планувальників, фільтрів, звітів і Аналітик.
Пріоритет системних полів
Системні поля «Шаблон», «Проєкт», «Об’єкт» (і тільки вони) обробляються швидше, оскільки система спеціально оптимізована під них.
- Звужуйте вибірку. Завжди намагайтеся додати до фільтра системне поле, яке значно скоротить кількість перевірюваних сутностей. Наприклад, якщо ви шукаєте завдання по користувацькому полю «Х», яке є лише в шаблоні «Z», обов’язково вкажіть умову по шаблону «Z» — це значно прискорить роботу.
- Уникати надлишковості. Якщо ви вже вказали умову по шаблону, додавати умову по процесу (в якому працює цей шаблон) немає сенсу — швидкості це не додасть.
Логічні оператори: І проти АБО
Логіка умов — один із найкритичніших факторів продуктивності.
- Використовуйте «І» (AND). Умови, пов’язані через «І», працюють швидко, особливо якщо в ланцюжку є зрізи по системних полях.
- Мінімізуйте «АБО» (OR). Використання «АБО» (особливо на верхньому рівні фільтра, без загальних звужуючих умов) може уповільнити вибірку в десятки й сотні разів. Нагадується проектувати логіку так, щоб уникати умов «АБО» у великих масивах даних.
Особливості роботи з полями
Не всі перевірки однаково «легкі» для бази даних.
- Конкретні значення проти «наявності даних». Перевірка на конкретне значення (наприклад, «Поле Х = Кассіопея») виконується швидше, ніж перевірка на заповненість поля («Поле Х: містить дані»).
- Типи полів. Множинні поля (списки з множинним вибором) вимагають більше часу на перевірку, ніж прості поля, в яких зберігається одне значення.
- «Прогрів» нових полів. У великих акаунтах вибірка по новому користувацькому полю при першому запуску завжди буде повільною. Системі потрібен час на оптимізацію умов, які починають використовуватися регулярно, тому зазвичай через деякий час вибірки по таких полях пришвидшуються.
Права доступу
Складні перевірки прав доступу «на льоту» — одна з найресурсоємніших операцій. Тому вибірки, які роблять адміністратори системи, працюють швидше, ніж ті ж вибірки, виконані користувачами: для адміністраторів права доступу в принципі не перевіряються.
Під «вибіркою» тут розуміється будь-яка дія — від заходу у фільтр завдань до виконання звіту, відмалювання Планувальника тощо.
Сортування і групування на великих обсягах
Сортування і групування — це додаткове навантаження, що накладається на уже виконану вибірку.
- Уникайте важких сортувань. Сортування за користувацькими полями і датами на вибірках, що повертають тисячі завдань, значно уповільнює відображення даних. За можливості використовуйте сортування по системних полях або відмовтеся від нього.
- Не групуйте без потреби. Якщо можна не групувати — не групуйте, це пришвидшить завантаження.