Cache Node Question

I have a question regarding the Cache node.

I write workflows to generate large tables for use in database migration. Many of the workflows I create have upwards of 100 columns, as such, running the workflow to export the data takes quite a while as node by node the table size increases and subsequent nodes slow down.

I recently started using the Cache node after setting every 10 columns or so and noticed a large increase in performance.

My question is, is there any downside to using the Cache node multiple times within the same workflow?

Secondly, when using multiple Cache nodes within the same workflow, do subsequent nodes overwrite/update the cache which was set by the previous node or does it create a cache of its own?

E.g., if I have 2 nodes and the first caches 1mb of data and the second caches 2mb of data, does the second overwrite/update the cache to 2mb or are there now 2x caches, one that’s 1mb and another that’s 2mb?

Cache was introduced to free memory occupied by original table after filtering. So, instead of original table with filter marks you’ll have just filtered records. Saying this, I really doubt that there is a connection between two or more caches.
As an alternative way of optimization try to use streaming.

1 Like