I have many questions actually. Here is a list of them. Please excuse them being written in rough manner as I had noted those for myself to check.
- Are workflow units predefined for actions like “search for…” etc or are the workflow units calculated run time on the basis of actual processing done by those respective queries?
- If a query is used at multiple places in the page, will it be reused or we’d be charged each time?
- Similarly if same query is used in a workflow in different actions or even within same action in different assignment expressions or conditions, will it be costing WUs for all those instances?
- What if at one place we use the query for assigning results to a list, at other place we use count of it, and at other place we use its first item? Will these all be considering same base query or three different queries?
- If same query is performed frequently, do we get advantage of caching?
- Do we get charged high even if we have only one row in a table and we run query on it? We maintain certain configurations (the ones that can’t be done via option sets as they need to be changed runtime or which depend on other data elements) in ‘data types’). We need to look up those configurations often for certain actions. Will this cost us bomb now? What can we do to avoid these (Some of these can’t be moved to option sets)?
- “calculating how much wu each action is taking” must be also a quite cpu consuming thing and it is now happening for each action. Is that itself consuming our own capacity and increasing WUs too?
- If there is a group/repeating group on a page which has a data source that needs to be searched, does each page load cost WUs corresponding to each of those groups/repeating groups?
- Does it depend on whether the data in those elements are being used or not?
- Does it depend on whether the element is visible or not?
- If a “make changes to a thing” has a condition which uses a search that is used in the make changes action itself too, will we be charged for search twice?
- If there’s a pop up that has some elements with searched values, when the pop up is hidden and made visible multiple times, are we charged for those searches each time the pop-up is made visible?
- What if this pop up is a reusable?
- If there is a option set type of field in a data and that field has attribute which is of number, then if we query the data and try to do aggregation like sum of values of numeric attribute of option set field, will it cause heavy WUs/capacity consumption?
- If I have two data types A and B such that A has a field which is list of B. Now if I already have an instance of A downloaded on page, then if I want a list of B which is subset of A’s instance’s B-list values, then is it better to do a :filtered on A’s B-list or do a “search for” directly on B? Similarly what if I want to access certain fields of A’s B-list?
- Will making original image that is uploaded in DB smaller reduce the download time of images (when the image to be shown is small)
- If there is a repeating group that has some content, and then there is another repeating group that is using rg’s content and putting a ‘group by’ on it, will it be resulting in full query again? Will it be doing it on downloaded data? Will it be server side query or client side?
- Say I have two data types A, B and an option set C. Say, A has two fields of type B and C and a field type ‘date’. Now, say I query for all the data types of A which have the date of today and put them in an RG (say RGA1). In another group (say GB) I set the data type as B and load a specific value in it. And say in another RG (Say RGC) I load all the option set values of C. Now say there is another RG of data type A (say RGA2). In this I want to store only the elements within RGA1 which have the field B as the specific one that I have in GB. So, for that if I set RGA2’s data source as RGA’s values: filtered where ‘B = GB’s value’ and ‘C is in RGC’s values’, will it cost be extra WUs than what would have costed to load RGA1 and GB? Isn’t this a totally front-end activity amongst the data points already loaded? Why should this cost WUs?
- Similarly if I have a repeating group out of some “group by on some fields”. Now if I want to use this repeating group at other places by putting some filters on dates and other fields used in group by, will that be requery? Extra WUs instead of saving WUs?
- If I have a query “search for user’s tokens’ count” will it be an expensive query? What if “tokens” can be just a text field? What if it is a list of texts type of field?
- Since using “current user” itself costs us WUs each time, can we save those WUs by making it as a data source on a group? Or will it have to be custom state?
I have recently discussed a few things with Support on how WUs work when I noticed some absurdities in my logs, and frankly it is becoming more and more opaque and unclear on how these are calculated.