Updated on 2025-05-12 GMT+08:00

Adding a Table-level Hint

Parameter Description

The following two table-level hints are provided.

  • NDP_PUSHDOWN
  • NO_NDP_PUSHDOWN

NDP_PUSHDOWN indicates that NDP is enabled, and NO_NDP_PUSHDOWN indicates that NDP is disabled. You need to specify a table when using these hints. Here is how to use table-level hints:

SELECT /*+ NO_NDP_PUSHDOWN(t) */ * FROM t;			// NDP is disabled for the table t.
SELECT /*+ NO_NDP_PUSHDOWN(t, u) */ * FROM t, u; 	// NDP is disabled for the tables t and u.

SELECT /*+ NDP_PUSHDOWN(t1) */ * FROM t as t1; 		//NDP is enabled for the table t1.
SELECT /*+ NDP_PUSHDOWN(t) */ * FROM t;                // NDP is enabled for the table t.
SELECT /*+ NDP_PUSHDOWN(t1, u1) */ * FROM t as t1, u as u1;  // NDP is enabled for the tables t1 and u1.
SELECT /*+ NDP_PUSHDOWN() */ * FROM t as t1, u as u1; 		//NDP is enabled for all tables in the query block.

Differences Between Table-level Hints and ndp_mode

ndp_mode and table-level hints affect each other. Table-level hints override the results of ndp_mode. The following table shows the impact results.

Table 1 Parameter description

Table-level Hint

set ndp_mode=off

set ndp_mode=on

NDP_PUSHDOWN

NDP is enabled for tables specified by NDP_PUSHDOWN.

The result is the same as that when ndp_mode is set to on.

NO_NDP_PUSHDOWN

The result is the same as that when ndp_mode is set to off.

NDP is disabled for tables specified by NO_NDP_PUSHDOWN.

Example

  • Specifying a single table for compute pushdown

  • Specifying multiple tables for compute pushdown