Parallel UDR in WHERE clause
The following example is a typical PDQ that contains two
UDRs:
SELECT c_udr1(tabid) FROM tab
WHERE tabname = c_udr2(3) AND
tabid > 100;
If the table tab has
multiple fragments and the optimizer decides to run the select statement
in parallel, the following operations can execute in parallel:
- The scan of table tab is performed by multiple scan threads in parallel. Each scan thread fetches a row from a fragment of tab.
- Each scan thread also evaluates the WHERE condition in parallel. Each scan thread executes the UDR c_udr2() in parallel.
- Each scan thread also executes the UDR c_udr1() in the select list in parallel.