## Syntax ```mermaid %%{init: { 'theme': 'base', 'flowchart': { 'padding': '7', 'nodeSpacing': '20', 'rankSpacing': '20' }, 'themeVariables': { 'fontSize': '11px', 'fontFamily': 'Arial' } }}%% flowchart LR stmt_start((START)) stmt_start --> stmt_0_0[JOIN_PARALLELIZATION]:::quoted stmt_0_0 --> stmt_0_1["("]:::quoted stmt_0_1 --> stmt_0_2[identifier] stmt_0_2 --> stmt_0_7 stmt_0_2 --> stmt_0_3[","]:::quoted stmt_0_3 --> stmt_0_4[booleanConstant] stmt_0_4 --> stmt_0_7 stmt_0_4 --> stmt_0_5[","]:::quoted stmt_0_5 --> stmt_0_6[numericConstant] stmt_0_6 --> stmt_0_7[")"]:::quoted stmt_0_7 --> stmt_end((END)) ``` ### Purpose The `join_parallelization` hint provides configuration of parallel execution of joins between two data sources with the last one evaluated as table function. It is enabled using the `join_parallelization hint`. The default is no parallel execution of joins. Join parallelization can increase the throughput (and load) for joins between a list of data points, for which details are retrieved using a table function. The first argument is the alias of the table evaluated last in the join. The second argument is whether parallel execution is enabled. The third and final argument is the maximum number of threads used to execute the outer join in parallel. Twice the number of processors will be used when the third argument is missing. The maximum number of threads is 128. ### Examples The following example retrieves all companies on Teamleader and per company executes an API call in parallel with at most 32 concurrently active API calls: ```sql select /*+ join_parallelization(p, true, 32)*/ count(*) from Teamleader.V2.Companies l join Teamleader.V2.CompanyById(l.id) p ```