Let’s condense a proper answer

  • Do a search for expressions consume 0.3 WU just by performing the search. In addition, you spend 0.015 WU per returned item. And finally, you have to sum up the WU consumed due to the size of the retrieved records themselves (an orientative figure is 0.000003 WU per character).
  • Retrieving a list costs the same, but the 0.3 WU, because no search is performed, but a lookup.

The above is just about WU consumption, however, you have to consider more factors when deciding between a Do a search for expression and a list retrieval.

  1. Hard limits. Lists can’t hold more than 10K items, while search results size isn’t capped.
  2. Lists require maintenance. You’ll have to update lists to control what’s retrieved from them, plus additional maintenance to clear deleted records.
  3. Lists skip Privacy Rules. This is a security problem in itself if not handled properly. Furthermore, Privacy Rules help limiting the amount of retrieved items, which limits WU usage too.
  4. Searchs allow for server-side filtering, which frees client resources and returns less items, lowering WU usage.
  5. For equal number of returned items, a search takes more time than retrieving a list

TLDR: you save 0.3 WU when using list retrieval vs a search, but you incur in several cons that might not make it worthy, especially when that 0.3 WU is small in comparison to the whole search spend.

A general rule of thumb is using list retrieval when the amount of items is not over 30.

Source:

  1. Airdev on WU optimization best practices
  2. Airdev on essential best practices
  3. Bubble official docs on WU optimization
1 Like