Updated on 2023-10-23 GMT+08:00

Scan Operation Hints

Function

These hints specify a scan operation, which can be tablescan, indexscan, or indexonlyscan.

Syntax

1
[no] tablescan|indexscan|indexonlyscan(table [index])

Parameter Description

  • no specifies that the specified hint will not be used for scanning.
  • table specifies the table to be scanned. You can specify only one table. Use a table alias (if any) instead of a table name.
  • index specifies the index for indexscan or indexonlyscan. You can specify only one index.

indexscan and indexonlyscan hints can be used only when the specified index belongs to the table.

Scan operation hints can be used for row-store tables, column-store tables, HDFS tables, OBS tables, and subquery tables. (The current feature is a lab feature. Contact Huawei technical support before using it.) HDFS internal tables include base tables and delta tables. The delta tables are invisible to users. Therefore, scan operation hints are used only for base tables.

Example

To specify an index-based hint for a scan, create an index named i on the i_item_sk column of the item table.

1
create index i on item(i_item_sk);

Hint the query plan in Examples as follows:

1
2
explain
select /*+ indexscan(item i) */ i_product_name product_name ...

item is scanned based on an index. The optimized plan is as follows: