Hello,
Dans notre utilisation de Bonita, nous avons créer un tableau de bord qui va chercher tout les processus en cours.
Voici notre requete :
SELECT DISTINCT bonita.process_instance.rootProcessInstanceId, bonita.process_instance.name, bonita.process_instance.startDate, bonita.process_instance.startedBy FROM bonita.process_instance LEFT JOIN bonita.user_ ON bonita.user_.id = bonita.process_instance.startedBy INNER JOIN bonita_bdm.PROCESSCURRENT ON bonita.process_instance.rootProcessInstanceId = bonita_bdm.PROCESSCURRENT.PID LEFT JOIN bonita_bdm.PROCESSCURRENT_CONTENTS ON bonita_bdm.PROCESSCURRENT.persistenceId = bonita_bdm.PROCESSCURRENT_CONTENTS.PROCESSCURRENT_PID LEFT JOIN bonita_bdm.CONTENTCURRENT ON bonita_bdm.PROCESSCURRENT_CONTENTS.CONTENTCURRENT_PID = bonita_bdm.CONTENTCURRENT.persistenceId WHERE bonita.process_instance.callerId = -1
Le problème, c'est que pour 2025 processus la requête mets 6 secondes, ce qui provoque des problèmes de performances quand il y a 20 000 processus.
Auriez-vous une idée de comment améliorer cette requete ? Ou alors un autre moyen de recuperer les informations ?
Nous faisais une requete car dans ce tableau de bord, nous avons mis des filtres (type du processus, créateur, date de début..etc).
Merci d'avance