# OceanBase 常用 SQL SQL Hint的语法格式如下: ~~~ /*+ HINT_NAME */ ~~~ 或 ~~~ /*+ HINT_NAME ( HINT_PARA ) ~~~ 如果是在命令行客户端 obclient 或 mysql 下连接 OceanBase,注意需要指定参数 -c ,这样 Hint 文本才会发送到 OBServer 端生效。 OceanBase 常用 SQL Hint 如下表所示: <table data-tag="table" id="table-5ns-jfa-ktc" class="table"><colgroup width="173" span="1" data-tag="col" id="col-636-9t6-ciy" colwidth="1*" colnum="1" colname="col1" style="width:33.33333333333333%" class="col"></colgroup><colgroup width="236" span="1" data-tag="col" id="col-3lr-kuu-1zk" colwidth="1*" colnum="2" colname="col2" style="width:33.33333333333333%" class="col"></colgroup><colgroup width="311" span="1" data-tag="col" id="col-3k0-trp-zii" colwidth="1*" colnum="3" colname="col3" style="width:33.33333333333333%" class="col"></colgroup><thead id="thead-ici-za7-uux" class="thead"><tr id="tr-9ez-lw4-7i0"><th id="td-cai-vhf-z26"><p id="p-05p-9iu-hgd"><b>Hint </b><b>名称</b></p></th><th id="td-ama-3n6-fmk"><p id="p-7ar-ga3-ljl"><b>Hint </b><b>参数</b></p></th><th id="td-1qo-rz2-6t6"><p id="p-mt5-5iw-puz"><b>Hint </b><b>语义</b></p></th></tr></thead><tbody data-tag="tbody" id="tbody-f95-a1n-n33" class="tbody"><tr data-tag="tr" id="tr-1m8-leo-3qe" class="tr"><td data-tag="td" id="td-cgl-gie-081" class="td"><p data-tag="p" id="p-urw-fqg-z8x" class="p">NO_REWRITE</p></td><td data-tag="td" id="td-m7b-zs5-5mq" class="td"><p data-tag="p" id="p-ad4-s7a-ggq" class="p"></p></td><td data-tag="td" id="td-inj-t7o-233" class="td"><p data-tag="p" id="p-h3a-uoy-k68" class="p">不改写SQL。</p></td></tr><tr data-tag="tr" id="tr-mvu-3pc-r5z" class="tr"><td data-tag="td" id="td-g3d-ivx-wsn" class="td"><p data-tag="p" id="p-ce6-tn6-1un" class="p">READ_CONSISTENCY</p></td><td data-tag="td" id="td-o7z-jhu-j7z" class="td"><p data-tag="p" id="p-5rr-nhg-znt" class="p">weak|strong|frozen</p></td><td data-tag="td" id="td-nar-sib-s78" class="td"><p data-tag="p" id="p-nt8-8hu-1dc" class="p">weak:弱一致性读</p><p data-tag="p" id="p-na1-fe0-zfq" class="p">strong:强一致性读</p><p data-tag="p" id="p-r3d-23x-0xp" class="p">frozen:读最近一次冻结点的数据</p></td></tr><tr data-tag="tr" id="tr-y8f-b5e-u53" class="tr"><td data-tag="td" id="td-1jq-tpo-xce" class="td"><p data-tag="p" id="p-xxa-8y2-e82" class="p">INDEX_HINT</p></td><td data-tag="td" id="td-m4w-lpw-h39" class="td"><p data-tag="p" id="p-4mp-fm3-dia" class="p"><span data-mce-style="font-size: 11px" data-tag="span" id="span-coi-fn9-ycx" class="span">[</span><span data-mce-style="font-size: 11px" data-tag="span" id="span-coi-fn9-ycx" class="span"><em data-tag="em" id="em-p3u-n1u-hxz" class="em">qb_name</em></span><span data-mce-style="font-size: 11px" data-tag="span" id="span-coi-fn9-ycx" class="span">] </span><span data-mce-style="font-size: 11px" data-tag="span" id="span-coi-fn9-ycx" class="span"><em data-tag="em" id="em-znv-1dj-r7w" class="em">table_name</em><em data-tag="em" id="em-844-ejo-4js" class="em">index_name</em></span></p></td><td data-tag="td" id="td-0r5-ij4-jjx" class="td"><p data-tag="p" id="p-77v-sdp-wnv" class="p">指定查询表时选择的索引。</p></td></tr><tr data-tag="tr" id="tr-s74-q2o-nqx" class="tr"><td data-tag="td" id="td-1y7-z8u-ssg" class="td"><p data-tag="p" id="p-b3k-icb-52x" class="p">QUERY_TIMEOUT</p></td><td data-tag="td" id="td-7wy-lfq-dn4" class="td"><p data-tag="p" id="p-pog-9cg-mv4" class="p"><span data-mce-style="font-size: 11px" data-tag="span" id="span-w2i-pc7-tn1" class="span"><em data-tag="em" id="em-ih8-ouy-hyu" class="em">int64</em></span></p></td><td data-tag="td" id="td-zqg-cnp-gar" class="td"><p data-tag="p" id="p-sz6-jg2-rzu" class="p">指定语句执行的超时时间,单位是微秒(us)。</p></td></tr><tr data-tag="tr" id="tr-bpf-d68-x31" class="tr"><td data-tag="td" id="td-ozg-qou-3kv" class="td"><p data-tag="p" id="p-egy-87u-xwr" class="p">LEADING</p></td><td data-tag="td" id="td-bkv-0ao-p40" class="td"><p data-tag="p" id="p-zzv-d5d-96l" class="p"><span data-mce-style="font-size: 11px" data-tag="span" id="span-q02-qmu-ojv" class="span">[</span><span data-mce-style="font-size: 11px" data-tag="span" id="span-q02-qmu-ojv" class="span"><em data-tag="em" id="em-nzn-hk6-pvh" class="em">qb_name</em></span><span data-mce-style="font-size: 11px" data-tag="span" id="span-q02-qmu-ojv" class="span">] </span><span data-mce-style="font-size: 11px" data-tag="span" id="span-q02-qmu-ojv" class="span"><em data-tag="em" id="em-gqn-io0-htt" class="em">table_name</em></span><span data-mce-style="font-size: 11px" data-tag="span" id="span-q02-qmu-ojv" class="span"> [,</span><span data-mce-style="font-size: 11px" data-tag="span" id="span-q02-qmu-ojv" class="span"><em data-tag="em" id="em-mrz-1co-kmw" class="em">table</em></span><span data-mce-style="font-size: 11px" data-tag="span" id="span-q02-qmu-ojv" class="span">_</span><span data-mce-style="font-size: 11px" data-tag="span" id="span-q02-qmu-ojv" class="span"><em data-tag="em" id="em-q31-8k0-1l1" class="em">name</em></span><span data-mce-style="font-size: 11px" data-tag="span" id="span-q02-qmu-ojv" class="span">]</span></p></td><td data-tag="td" id="td-jvj-cyb-ble" class="td"><p data-tag="p" id="p-fef-8pb-poc" class="p">指定多表连接时的顺序。</p></td></tr><tr data-tag="tr" id="tr-l5g-by3-tsn" class="tr"><td data-tag="td" id="td-xwu-bx8-o9m" class="td"><p data-tag="p" id="p-ufs-5vz-asy" class="p">ORDERED</p></td><td data-tag="td" id="td-g66-rw7-fgc" class="td"><p data-tag="p" id="p-vco-gjz-clm" class="p"></p></td><td data-tag="td" id="td-hye-t7x-dn5" class="td"><p data-tag="p" id="p-eaz-ivs-hfi" class="p">指定多表连接顺序按SQL中表出现的顺序。</p></td></tr><tr data-tag="tr" id="tr-sao-k6q-t94" class="tr"><td data-tag="td" id="td-91t-1rz-3iv" class="td"><p data-tag="p" id="p-zn5-g7n-k61" class="p">FULL</p></td><td data-tag="td" id="td-j8s-qbl-d6z" class="td"><p data-tag="p" id="p-u5b-rij-t4q" class="p"><span data-mce-style="font-size: 11px" data-tag="span" id="span-9an-ubj-b3c" class="span">[qb</span><span data-mce-style="font-size: 11px" data-tag="span" id="span-9an-ubj-b3c" class="span"><em data-tag="em" id="em-zzf-q5v-5aa" class="em">_name</em></span><span data-mce-style="font-size: 11px" data-tag="span" id="span-9an-ubj-b3c" class="span">] </span><span data-mce-style="font-size: 11px" data-tag="span" id="span-9an-ubj-b3c" class="span"><em data-tag="em" id="em-ey4-ch9-kg4" class="em">table_name</em></span></p></td><td data-tag="td" id="td-90d-odt-6rz" class="td"><p data-tag="p" id="p-o4z-256-vz9" class="p">指定表的访问方式为全表扫描(有主键时会读主键)。</p></td></tr><tr data-tag="tr" id="tr-sbt-ogk-y2r" class="tr"><td data-tag="td" id="td-k10-fc8-4sc" class="td"><p data-tag="p" id="p-sw3-xk1-60o" class="p">USE_MERGE</p></td><td data-tag="td" id="td-nnr-olv-cuy" class="td"><p data-tag="p" id="p-1qd-wxr-yc6" class="p"><span data-mce-style="font-size: 11px" data-tag="span" id="span-s5o-ef9-mdn" class="span">[qb</span><span data-mce-style="font-size: 11px" data-tag="span" id="span-s5o-ef9-mdn" class="span"><em data-tag="em" id="em-74c-fi3-ptd" class="em">_name</em></span><span data-mce-style="font-size: 11px" data-tag="span" id="span-s5o-ef9-mdn" class="span">] </span><span data-mce-style="font-size: 11px" data-tag="span" id="span-s5o-ef9-mdn" class="span"><em data-tag="em" id="em-6zs-67i-dpu" class="em">table_name</em></span><span data-mce-style="font-size: 11px" data-tag="span" id="span-s5o-ef9-mdn" class="span"> [,</span><span data-mce-style="font-size: 11px" data-tag="span" id="span-s5o-ef9-mdn" class="span"><em data-tag="em" id="em-qa7-owc-kkl" class="em">table_name</em></span><span data-mce-style="font-size: 11px" data-tag="span" id="span-s5o-ef9-mdn" class="span">]</span></p></td><td data-tag="td" id="td-mh3-03o-fts" class="td"><p data-tag="p" id="p-snc-7xx-n9r" class="p">指定多表连接时使用MERGE算法。</p></td></tr><tr data-tag="tr" id="tr-t2a-53f-ujb" class="tr"><td data-tag="td" id="td-3t4-cpb-frf" class="td"><p data-tag="p" id="p-0s5-xvi-x3m" class="p">USE_NL</p></td><td data-tag="td" id="td-87p-r4o-tjm" class="td"><p data-tag="p" id="p-dp4-eot-0sv" class="p"><span data-mce-style="font-size: 11px" data-tag="span" id="span-h8q-x0k-0bw" class="span">[</span><span data-mce-style="font-size: 11px" data-tag="span" id="span-h8q-x0k-0bw" class="span"><em data-tag="em" id="em-0l4-7bj-dx3" class="em">qb_name</em></span><span data-mce-style="font-size: 11px" data-tag="span" id="span-h8q-x0k-0bw" class="span">] </span><span data-mce-style="font-size: 11px" data-tag="span" id="span-h8q-x0k-0bw" class="span"><em data-tag="em" id="em-49s-acy-uti" class="em">table_name</em></span><span data-mce-style="font-size: 11px" data-tag="span" id="span-h8q-x0k-0bw" class="span"> [,</span><span data-mce-style="font-size: 11px" data-tag="span" id="span-h8q-x0k-0bw" class="span"><em data-tag="em" id="em-mb7-9m8-urv" class="em">table_name</em></span><span data-mce-style="font-size: 11px" data-tag="span" id="span-h8q-x0k-0bw" class="span">]</span></p></td><td data-tag="td" id="td-h18-92c-zpr" class="td"><p data-tag="p" id="p-k0t-zd3-0w2" class="p">指定多表连接时使用NEST LOOP算法。</p></td></tr><tr data-tag="tr" id="tr-mbq-7ze-tyq" class="tr"><td data-tag="td" id="td-g7o-z7u-k8b" class="td"><p data-tag="p" id="p-p20-1jb-lwp" class="p">USE_BNL</p></td><td data-tag="td" id="td-iou-z64-q9z" class="td"><p data-tag="p" id="p-eau-hr1-2wk" class="p">[qb_name] table_name [,table_name]</p></td><td data-tag="td" id="td-v45-lix-2v3" class="td"><p data-tag="p" id="p-c0t-ysr-nst" class="p">指定多表连接时适用BLOCK NEST LOOP算法。</p></td></tr><tr data-tag="tr" id="tr-wdu-5jo-lob" class="tr"><td data-tag="td" id="td-nyw-2pg-c6z" class="td"><p data-tag="p" id="p-8ro-stx-ya6" class="p">USE_HASH_AGGREGATION</p></td><td data-tag="td" id="td-30h-rmf-8lb" class="td"><p data-tag="p" id="p-elw-z9i-26t" class="p"><span data-mce-style="font-size: 11px" data-tag="span" id="span-9vd-nj0-ziw" class="span">[</span><span data-mce-style="font-size: 11px" data-tag="span" id="span-9vd-nj0-ziw" class="span"><em data-tag="em" id="em-uag-x8g-3l6" class="em">qb_name</em></span><span data-mce-style="font-size: 11px" data-tag="span" id="span-9vd-nj0-ziw" class="span">]</span></p></td><td data-tag="td" id="td-mpb-f8h-if3" class="td"><p data-tag="p" id="p-3pg-sig-gqf" class="p">指定 aggregate 方法使用HASH AGGREGATE,例如HASH GROUP BY,HASH DISTINCT。</p></td></tr><tr data-tag="tr" id="tr-m7c-5ns-454" class="tr"><td data-tag="td" id="td-ivq-oqx-x8m" class="td"><p data-tag="p" id="p-903-8kz-ztf" class="p">NO_USE_HASH_AGGREGATION</p></td><td data-tag="td" id="td-5e4-xsz-deo" class="td"><p data-tag="p" id="p-kr3-dws-h14" class="p"><span data-mce-style="font-size: 11px" data-tag="span" id="span-dkq-1wf-gy4" class="span">[</span><span data-mce-style="font-size: 11px" data-tag="span" id="span-dkq-1wf-gy4" class="span"><em data-tag="em" id="em-7pd-zp9-on5" class="em">qb_name</em></span><span data-mce-style="font-size: 11px" data-tag="span" id="span-dkq-1wf-gy4" class="span">]</span></p></td><td data-tag="td" id="td-zd0-j27-gmd" class="td"><p data-tag="p" id="p-5ho-683-y3g" class="p">指定 aggregate 方法不使用HASH AGGREGATE,使用MERGE GROUP BY,MERGE DISTINCT 。</p></td></tr><tr data-tag="tr" id="tr-t4t-w6n-acp" class="tr"><td data-tag="td" id="td-g3s-8t4-f7v" class="td"><p data-tag="p" id="p-eyq-5jv-12t" class="p">QB_NAME</p></td><td data-tag="td" id="td-ast-c7g-ow8" class="td"><p data-tag="p" id="p-t85-ziw-0kh" class="p"><span data-mce-style="font-size: 11px" data-tag="span" id="span-uwc-fni-leg" class="span"><em data-tag="em" id="em-bjm-uoc-wcn" class="em">qb_name</em></span></p></td><td data-tag="td" id="td-uzc-8dp-wff" class="td"><p data-tag="p" id="p-tj9-zzj-oli" class="p">指定 query block的名称。</p></td></tr><tr data-tag="tr" id="tr-yrq-17n-f8h" class="tr"><td data-tag="td" id="td-dy2-fnj-pta" class="td"><p data-tag="p" id="p-qcx-5jo-q9d" class="p">PARALLEL</p></td><td data-tag="td" id="td-7gf-3ke-fyx" class="td"><p data-tag="p" id="p-8j9-a3j-wnc" class="p"><span data-mce-style="font-size: 11px" data-tag="span" id="span-ab7-xg1-ggr" class="span"><em data-tag="em" id="em-s0k-chz-lhg" class="em">int64</em></span></p></td><td data-tag="td" id="td-g6s-9pd-3ls" class="td"><p data-tag="p" id="p-ax9-4vz-51w" class="p">指定分布式执行的并行度。</p></td></tr></tbody></table>