Best way to get all data for user from table that contains 8 million rows
Hi,
What is the most efficient way to retrieve data from a large table (more than 4 million rows) in Appian?
When I use queryEntity to fetch data from this table, it takes a long time to execute, which negatively impacts Appian’s performance. How can I improve the data retrieval process?
My current approach to solve the issue:
I split the data retrieval into smaller batches. Specifically, I:
-
Created multiple records that point to the same source table.
-
Used the
foreachfunction to query each record in batches of 5,000 rows. -
Used the
unionfunction to combine the results from each batch. -
Used the
unionfunction to combine the results from each query record. -
Then, combined the results across all the records to get the complete dataset.

I’m concerned about future system complexity.
Do I really need to create multiple records and change the system design just to retrieve all the data from a large table?
Or is there a better, more efficient way to handle large data retrieval in Appian without adding complexity?
Thanks,
