Forces the optimizer to split data retrieval using a specified column. This parallelizes the query and data movement.

Syntax

/*+ FORCE_SPLIT_COLUMN */

Hint Placement

SELECT column_name /*+FORCE_SPLIT_COLUMN */, col2, col3, ...
FROM
    fromClause;

Additional Information

  • Choose a split column with a high cardinality; choose a column wherein the values in the rows of that column contain a very high percentage of unique values. High cardinality columns will assist in efficiently splitting the data and parallelizing the work processing.

  • For this hint to be considered by the optimizer, there must be a movement between two federated systems involved in query processing. If the query only queries a single system, then the hint may be ignored by the optimizer.

Examples

This query combines a force runmode hint with force split column.

The movement from MYSQL to HIVE will be parallelized in the Sqoop import step, splitting the data on the “double_value + 1” column.

SELECT
    /*+FORCE_RUNMODE('HIVE_CDH') */
    join1_id,
    double_value + 1 /*+FORCE_SPLIT_COLUMN */,
    upper_letters
FROM (
    SELECT  join1_id, double_value + 123 double_value, upper_letters FROM MYSQL.inventory.dbo.TSTMSTR_JOIN1
) a;