Guide de performance
Le guide de performance décrit les bonnes pratiques pour configurer les règles de sélection dans le système.
Dans les grands comptes, la vitesse de récupération des données dépend directement de l'efficacité avec laquelle vous configurez les conditions de filtrage. Ci‑dessous les principes clés et les recommandations pour créer des règles de sélection rapides pour planificateurs Planfix, filtres, rapports et tag de données.
Priorité des champs système
Les champs système "Modèle", "Projet" et "Objet" (et seulement ceux‑ci) sont traités plus rapidement parce que le système est spécialement optimisé pour eux.
- Réduire la sélection. Ajoutez toujours un champ système au filtre qui réduit de manière significative le nombre d'entités à vérifier. Par exemple, si vous recherchez des tâches par un champ personnalisé "X" qui n'existe que dans le modèle "Z", incluez une condition pour le modèle "Z" — cela accélérera considérablement la requête.
- Éviter la redondance. Si vous avez déjà spécifié une condition pour le modèle, ajouter une condition pour le processus (dans lequel ce modèle fonctionne) est inutile — cela n'améliorera pas la vitesse.
Opérateurs logiques : AND vs OR
La logique des conditions est l'un des facteurs de performance les plus critiques.
- Utiliser "AND". Les conditions combinées par "AND" s'exécutent rapidement, surtout si la chaîne inclut des filtres sur des champs système.
- Minimiser "OR". L'utilisation de "OR" (en particulier au niveau supérieur d'un filtre, sans conditions communes réductrices) peut ralentir la récupération de dizaines à des centaines de fois. Concevez la logique pour éviter les conditions "OR" sur de grands jeux de données autant que possible.
Considérations spécifiques aux champs
Toutes les vérifications ne sont pas également "légères" pour la base de données.
- Valeurs concrètes vs "contient des données". Vérifier une valeur spécifique (par exemple, "Champ X = Cassiopeia") est plus rapide que vérifier la présence d'une donnée dans un champ ("Champ X : contient des données").
- Types de champs. Les champs à valeurs multiples (listes à sélection multiple) prennent plus de temps à vérifier que les champs simples qui stockent une seule valeur.
- "Chauffer" les nouveaux champs. Dans les grands comptes, les requêtes utilisant un nouveau champ personnalisé seront toujours lentes lors de la première exécution. Le système a besoin de temps pour optimiser les conditions qui commencent à être utilisées régulièrement ; les requêtes sur ces champs s'accélèrent généralement après un certain temps.
Permissions
Les vérifications d'accès complexes effectuées à la volée sont l'une des opérations les plus gourmandes en ressources. Par conséquent, les requêtes s'exécutent plus rapidement pour les administrateurs système que pour les utilisateurs : les administrateurs ne subissent pas les contrôles de droits d'accès.
Par "requête" ici, nous entendons toute action — de l'ouverture d'un filtre de tâches à l'exécution d'un rapport, en passant par le rendu du Planificateur, etc.
Tri et regroupement sur de gros volumes
Le tri et le regroupement ajoutent une charge supplémentaire en plus de la récupération déjà effectuée.
- Éviter les tris lourds. Trier par champs personnalisés et par dates sur des ensembles de résultats renvoyant des milliers de tâches ralentit considérablement l'affichage. Lorsque c'est possible, utilisez le tri par champs système ou évitez le tri.
- Ne pas regrouper sauf si nécessaire. Si vous pouvez éviter le regroupement — faites‑le ; cela accélérera le chargement.