Parallel UDR in a join
The following sample query contains a join between table t1 and t2:
SELECT t1.x, t2.y
FROM t1, t2
where t1.x = t2.y and
c_udr(t1.z, t2.z, 3) > 5 and
c_udr1(t1.u) > 4 and
c_udr2(t2.u) < 5;
If the tables t1 and t2 have
multiple fragments and the optimizer decides to run the select statement
in parallel, the following operations can execute in parallel:
- The scan of table t1 is performed by multiple scan threads in parallel. Each scan thread fetches a row from a fragment of t1 and executes the UDR c_udr1() in parallel.
- The scan of table t2 is performed by multiple scan threads in parallel. Each scan thread fetches a row from a fragment of t2 and executes the UDR c_udr2() in parallel.
- The join of tables t1 and t2 is performed by multiple join threads in parallel. Each join thread fetches a row from a fragment of t2 and executes the UDR c_udr() in parallel.