Limitations
The ServiceNow API directly supports processing certain query functions and filters, which improves performance. This is known as server-side processing.
If your query contains functions and filters not specified here, the add-in must pull unfiltered records from ServiceNow and then perform the filter operations itself, which may take longer. This is known as client-side processing.
Supported Server-side Operations
The following functions are processed server-side:
- MAX
- MIN
- AVG
- SUM
For example, the following queries are processed server-side:
SELECT MAX(sys_id) FROM incident SELECT sys_id, priority, AVG(priority), SUM(priority), MIN(sys_id) FROM incident
Additionally, these SQL clauses are processed server-side:
- GROUP BY
- HAVING
- HAVING is only handled server-side when it is followed first by an aggregate function, then an operator value.
- IS NULL
- IS NOT NULL
For example, these queries are executed server-side:
SELECT active, AVG(priority), AVG(business_stc) FROM incident GROUP BY active, approval HAVING AVG(business_stc) > 28800 SELECT sys_id FROM incident WHERE assignment_group IS NULL SELECT AVG(Priority) FROM incident WHERE business_stc IS NOT NULL