Appian Community and Appian Academy are being upgraded. From July 24–August 3, the Appian Community will be in read-only mode. During this time, the site will be read-only and user registration will be disabled. We apologize for any inconvenience this may cause, but a more secure, stable, and performant Community experience is coming soon!
The new Appian Community launches August 3, followed by Appian Academy on August 7. During the migration, Appian Community Edition, Appian Academy, Documentation, Certifications, Instructor-led Customer Training, Partner Sales Training & Accreditation, and Forum (for Appian Partners and Customers only) will remain available.
Hi,
Wanted to understand on how Appian parses an Expression Rule that uses a!queryAggregation and a!queryAggregationColumn against a Table/View? Does it convert and send a query as-is with GROUP By to the database SQL engine or does it get the data and then do the grouping on-fly in its memory?
Thank you in advance for your response.
Discussion posts and replies are publicly visible
Aggregations are translated into SQL statements and sent to the DB for execution.
Aggregation and filtering happen on the Database level.
Hello ougdp2003,Your query aggregation is used as an SQL statement for execution.
Appian translates the expression into a corresponding SQL query and sends it to the database.
When these aggregation functions are used, Appian generates SQL queries that include GROUP BY clauses, and these queries are sent to the database engine for execution. Appian does not bring all the data into its memory and then perform grouping on it.
All,
Thank you for the quick responses. Very much helpful !!!
Hi ougdp2003 If our answers helped you please verify the answers. Thanks
It's intentionally obfuscated through the Appian-based abstraction layer (the data store, at least for the older data types), particularly so that they can shift things around in the back-end on a progressive basis to tweak efficiency without breaking the way things work on the Designer front-end. That's all a long way of saying, we don't "officially" have any way of directly knowing what the exact SQL is that eventually gets passed to the DB via the Appian query, but it's reasonably safe to assume that by now they've probably fine-tuned it to be reasonably close to the most efficient thing possible.
Hi ougdp2003 ,
I have recently come across a video on YouTube similar to this. Sharing it here might help - CTTO