Workload usage on repeating group

Hello,

I’m contacting you to get your opinion, I’m using a lot of Workflow simply to display data on repeating groups. My simple display of my products consumes 9000 logs per day. I’m looking to display a certain type of product.

Does anyone know of a possible optimization or is this quite normal given that I’m filtering my data?

Thanks for your help


WU usage for retrieving data is calculated based on:

  • number of things returned (0.015WU per thing)
  • size of things returned (a little amount per character)
  • a fixed amount of 0.3 WU per search

So, no matter how you reduce the problem, your two options are to reduce those first two.

To reduce the number of things returned, consider:

  1. Only updating the search when a search button is clicked (as opposed to instantly when they change a filter). You can do this using Display list in a Repeating group. Put this in a custom event and Display list of Montres based on the filters. Whenever a filter’s value is changed, trigger that custom event.
  2. Make the cards larger so less are displayed at once (so actually make the user see less results)

To reduce the size of things returned, consider creating a satellite data type. This is kept in sync using a database trigger, but all it has on it, are the fields you want to use for search. Any heavy fields (like a long description) could be removed. I probably wouldn’t bother with this unless the data type is unusually heavy (with long lists of Things on it).

If this was my app, my first port of call would be to only update the search when a search button is clicked, so try that first.

As another note, I can see that you’re dynamically sorting using conditionals. I’d recommend exploring the ‘Change which field’ option in Sort by. You can dynamically specify the sort order. You need an option set e.g Date created (asc), Date created (desc), Rating (asc), Rating (desc). This means you don’t have to update the constraints in every expression when you add a new filter.

3 Likes

Hi George,

Quick clarification here…

Lets say I have a data type with 100 columns and I want to ‘do a search’ but only need to return 2 columns.

If I move those 2 columns into their own satellite data type.

Will the same search consume less WUs for the 2 in the satellite data type vs the same search for the full 100?

Thanks

Simon

Yes, strictly speaking, because you have less data returned (you’re charged by character)

However, consider the cost of maintaining a satellite data type. If it’s updated frequently, it’ll be more expensive to have a satellite data type, as you have to update the satellite Thing every time you change it.

Essentially, when deciding whether to have a satellite data type, you should be considering the Update : Search ratio. High Update : Search ratio means you’ll save more just by keeping it on the main table, and low Update : Search (you search for it way more than you update it) means that you’ll benefit from a satellite data type.

1 Like

Thanks mate - very helpful.

@georgecollier
The simple filter fix (making users commit the change and running the 'display list in RG action) has reduced WU usage from ~50k per day to ~10k per day.
Small but important wins so thanks.