日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

HINT

更新時(shí)間: 2024-12-04 16:30:03

HINT作為一種SQL補(bǔ)充語(yǔ)法,在數(shù)據(jù)庫(kù)中扮演著非常重要的角色。HINT可以改變SQL的執(zhí)行方式。Lindorm寬表SQL也支持HINT語(yǔ)法,例如使用HINT進(jìn)行多版本數(shù)據(jù)管理。本文介紹HINT的基本語(yǔ)法和使用場(chǎng)景。

前提條件

寬表引擎為2.3.1及以上版本。如何查看或升級(jí)當(dāng)前版本,請(qǐng)參見(jiàn)寬表引擎版本說(shuō)明升級(jí)小版本

使用限制

  • HINT必須在INSERT、UPSERT、DELETE和SELECT關(guān)鍵字后使用。

  • 寬表引擎為2.5.2.1以下版本時(shí),HINT僅支持簡(jiǎn)單查詢,不支持子查詢、分組查詢等復(fù)雜查詢。

HINT語(yǔ)法

hintExpression ::= /*+ hintItems */

hintItems ::= hintItem (',' hintItem )*

hintItem ::= identifier ('(' hintOption ( ',' hintOption)* ')')?

identifier ::=  ( [A-Z] | '_' ) ( [A-Z] | [0-9] | '_' | '@' | ':')*
說(shuō)明
  • HINT的格式為/*+ hintItems */。其中hintItems是HINT語(yǔ)句,與具體的操作相關(guān)。多個(gè)hintItems之間需使用半角逗號(hào)(,)分隔。

  • Lindorm寬表SQL語(yǔ)句中,僅允許直接在INSERT、UPSERT、DELETE和SELECT關(guān)鍵字后指定HINT。錯(cuò)誤示例:UPSERT INTO /*+ _l_ts_(3000) */ t_test_ts(c1, c3) VALUES (1, 'c3');

hintOption參數(shù)說(shuō)明

參數(shù)

數(shù)據(jù)類(lèi)型

說(shuō)明

_l_operation_timeout_

說(shuō)明

寬表引擎為2.5.2.1以下版本時(shí),該參數(shù)名稱為operationtimeout

INT

DML操作的執(zhí)行超時(shí)時(shí)間。默認(rèn)值為120,000。取值范圍大于0,單位為毫秒(ms)。支持UPSERT、DELETE和SELECT。

說(shuō)明

_l_operation_timeout_可以和其他HINT參數(shù)同時(shí)使用,使用時(shí)需要用英文逗號(hào)(,)分隔。例如:SELECT /*+ _l_operation_timeout_(1000), _l_force_index_('idx1') */ * from test;

_l_force_index_

STRING

強(qiáng)制選擇索引。僅支持SELECT。

說(shuō)明

_l_force_index_參數(shù)不能與_l_ignore_index_參數(shù)同時(shí)使用。

_l_ignore_index_

不涉及

忽略索引,不使用索引直接在數(shù)據(jù)表查詢數(shù)據(jù)。可用于對(duì)比使用索引和不使用索引時(shí)的查詢性能差異等場(chǎng)景。不涉及取值,使用時(shí)直接調(diào)用即可。僅支持SELECT。

說(shuō)明

_l_ignore_index_參數(shù)不能與_l_force_index_參數(shù)同時(shí)使用。

_l_allow_filtering_

不涉及

默認(rèn)情況下,若查詢的WHERE條件為非主鍵列時(shí),查詢將報(bào)錯(cuò)。使用該參數(shù)后,允許進(jìn)行低效全表掃描查詢,查詢將不會(huì)報(bào)錯(cuò)。不涉及取值,使用時(shí)直接調(diào)用即可。僅支持SELECT。

_l_versions_

INT

在查詢結(jié)果中返回最新N個(gè)版本的數(shù)據(jù)。取值范圍大于0。僅支持SELECT。

_l_ts_

BIGINT

多版本管理的時(shí)間戳,用于指定非主鍵列寫(xiě)入或查詢時(shí)的時(shí)間戳。取值范圍大于0。單位為毫秒(ms)。支持UPSERT和SELECT。

_l_ts_min_

BIGINT

多版本管理的最小時(shí)間戳,用于過(guò)濾查詢結(jié)果。取值范圍大于0。單位為毫秒(ms)。僅支持SELECT。

_l_ts_max_

BIGINT

多版本管理的最大時(shí)間戳,用于過(guò)濾查詢結(jié)果。取值范圍大于0。單位為毫秒(ms)。僅支持SELECT。

_l_hot_only_

BOOLEAN

是否只查詢熱數(shù)據(jù)。僅支持SELECT。

取值如下:

  • true:僅查詢表中的熱數(shù)據(jù)。

  • false:查詢表中所有數(shù)據(jù)。

    說(shuō)明

    _l_hot_only_設(shè)置為false時(shí),與不使用該HINT的查詢效果相同。

示例

  • 示例一:在執(zhí)行統(tǒng)計(jì)表大小的查詢中指定該DML操作的超時(shí)時(shí)間為30,000ms。

    SELECT /*+  _l_operation_timeout_(30000) */ COUNT(*) FROM t_test_ts;

    返回結(jié)果:

    +----------+
    | COUNT(*) |
    +----------+
    | 1        |
    +----------+
  • 示例二:在寫(xiě)入數(shù)據(jù)行時(shí)指定該DML操作的超時(shí)時(shí)間為30,000ms。

    UPSERT /*+  _l_operation_timeout_(30000) */ INTO t_test_ts(c1, c2, c3) values(1,2,3);
  • 示例三:在刪除滿足條件的數(shù)據(jù)時(shí)指定該DML操作執(zhí)行的超時(shí)時(shí)間為30,000ms。

    DELETE /*+  _l_operation_timeout_(30000) */ FROM tb WHERE c1 = 1;
  • 示例四:使用_l_force_index_強(qiáng)制選擇索引。

    SELECT /*+  _l_force_index_('idx1') */ COUNT(*) FROM tb;   //'idx1' 為已經(jīng)創(chuàng)建的索引名稱。

    返回結(jié)果:

    +----------+
    | COUNT(*) |
    +----------+
    | 1        |
    +----------+
  • 示例五:使用_l_ignore_index_強(qiáng)制忽略索引。

    SELECT /*+  _l_ignore_index_ */ COUNT(*) FROM tb;

    返回結(jié)果:

    +----------+
    | COUNT(*) |
    +----------+
    | 1        |
    +----------+
  • 示例六:使用_l_allow_filtering_過(guò)濾指定數(shù)據(jù)。

    SELECT /*+ _l_allow_filtering_ */ COUNT(*) FROM tb WHERE c1 = 2;

    返回結(jié)果:

    +----------+
    | COUNT(*) |
    +----------+
    | 1        |
    +----------+

    過(guò)濾條件中的c1不是主鍵,也不是索引。使用該HINT后不會(huì)報(bào)錯(cuò)。

  • 示例七:使用_l_ts_為寫(xiě)入的數(shù)據(jù)行指定時(shí)間戳。

    UPSERT /*+ _l_ts_(3000) */ INTO t_test_ts(c1, c3) VALUES (1, 'c3');
  • 示例八:使用_l_versions_返回最新版本的數(shù)據(jù)。

    SELECT /*+ _l_versions_(1) */ c1, c3, c3_l_ts FROM t_test_ts;

    返回結(jié)果:

    +----+----+---------+
    | c1 | c3 | c3_l_ts |
    +----+----+---------+
    | 1  | c3 | 3000    |
    +----+----+---------+

使用場(chǎng)景

在以下場(chǎng)景中可以使用HINT。

通過(guò)HINT查詢熱數(shù)據(jù)

上一篇: EXPLAIN 下一篇: 多版本數(shù)據(jù)管理
阿里云首頁(yè) 云原生多模數(shù)據(jù)庫(kù) Lindorm 相關(guān)技術(shù)圈