新聞中心
訪問路徑是指數(shù)據(jù)庫中訪問表的方法,即使用哪個(gè)索引來訪問表。

專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)額爾古納免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了近千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
訪問路徑的分析是單表查詢的最重要的問題之一,對于使用主表掃描的訪問路徑來說,執(zhí)行時(shí)間一般與需要掃描的數(shù)據(jù)量(范圍)成正比。一般來說,可以使用 ?EXPLAIN EXTENDED? 命令,將表掃描的范圍段展示出來。對于有合適索引的查詢,使用索引可以大大減小數(shù)據(jù)的訪問量,因此對于使用主表掃描的查詢,要分析沒有選中索引掃描的原因,是由于不存在可用的索引,還是索引掃描范圍過大以至于代價(jià)過高。
OceanBase 數(shù)據(jù)庫的路徑選擇方法融合了基于規(guī)則的路徑選擇方法和基于代價(jià)的路徑選擇方法。OceanBase 數(shù)據(jù)庫首先會使用基于規(guī)則的路徑選擇方法,如果基于規(guī)則的路徑選擇方法之后只有一個(gè)可選擇的路徑,那么就直接使用該路徑,否則就再使用基于代價(jià)的路徑選擇方法選擇一個(gè)代價(jià)最小的路徑。
在 OceanBase 數(shù)據(jù)庫中,用戶可以通過 HINT 來指定訪問路徑。訪問路徑的 HINT 形式如下: ?/+INDEX(table_name index_name)/?
其中 ?table_name? 表示表的名字,?index_name? 表示索引的名字。如果 ?index_name? 是 PRIMARY,代表選擇主表掃描路徑。
如下為用 HINT 來指定訪問路徑的示例:
obclient>CREATE TABLE t1(a INT PRIMARY KEY, b INT, c INT, d INT, INDEX k1(b,c));
Query OK, 0 rows affected (0.10 sec)
obclient>EXPLAIN SELECT/*+INDEX(t1 PRIMARY)*/ * FROM t1;
| ===================================
|ID|OPERATOR |NAME|EST. ROWS|COST|
-----------------------------------
|0 |TABLE SCAN|t1 |1000 |476 |
===================================
Outputs & filters:
-------------------------------------
0 - output([t1.a], [t1.b], [t1.c], [t1.d]), filter(nil),
access([t1.a], [t1.b], [t1.c], [t1.d]), partitions(p0)
obclient>EXPLAIN SELECT/*+INDEX(t1 k1)*/ * FROM t1;
| =====================================
|ID|OPERATOR |NAME |EST. ROWS|COST|
-------------------------------------
|0 |TABLE SCAN|t1(k1)|1000 |5656|
=====================================
Outputs & filters:
-------------------------------------
0 - output([t1.a], [t1.b], [t1.c], [t1.d]), filter(nil),
access([t1.a], [t1.b], [t1.c], [t1.d]), partitions(p0) 網(wǎng)站欄目:創(chuàng)新互聯(lián)OceanBase教程:OceanBase訪問路徑概述
文章出自:http://m.5511xx.com/article/cdphood.html


咨詢
建站咨詢
