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 adapter 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