I’m trying to figure out how to speed up a sluggish workflow.
Looking at the log, there is one simple workflow that took about six seconds to complete. I want to be sure I’m reading this correctly and determine what I might do to speed up the single action step in the workflow.
Looks like it took about six seconds to complete.
The workflow is short:
The action step simply runs through the Project’s list of Actions to determine the highest position of Actions in the Project so the next Action can be placed at the end of the list.
For the test reflected in the log, there were 78 Actions in the list. Considering that they are all directly addressed in the list, is it reasonable to expect the step to take six seconds?
Is there more I should understand about how Bubble processes lists? … about how to read the log?
While I don’t have a definite answer to the original question - how to process the list faster (although I would experiment with trying a Do a Search with as much definite search parameters as possible instead of Current WF Project’s Action List), I may have a workaround in mind that will make things work faster overall.
While this primarily depends on your DB structure, you could try to keep the MaxPositionnumber as a numeric value somewhere on your List level level.
Based on the screenshots provided, I would assume that probably Project Object is best suited to host that field.
How I imagine this working is by default this field is equal to 1 for each new Project (default DB value for the Number type field).
Now when a new List Item (Action?) is being added to that Project, you take the current value of that field as the List Item #, then update the Project doing a +1 to that value.
Next time you add or remove the List Item from the Project, you give the current value to the new task, then either add or subtract 1 from that value.
So you’re always working with single value for the Project only instead of doing the lists processing regardless of actual list size.
I hope I got your DB structure right, but If not - let me know if you understand the concept (or if it works!) please.
I understand, and I can’t think of any reason it won’t work.
Coming from a history of relational databases and 3rd normal form, I resist putting anything in a table that can be derived when needed. This is one of those cases.
In the good old days, DB operations were incredibly fast. Bubble is inconceivably slow in many ways. But I’m gradually coming around to the need for concessions in data model “purity” for the sake of process speed improvements.
This topic was automatically closed after 70 days. New replies are no longer allowed.