新聞中心
INDEX Hint
INDEX Hint 指示優(yōu)化器對指定的表使用索引掃描。您可以將 ?INDEX Hint? 用于基于函數(shù)、域、B - 樹、位圖和位圖連接的索引。

成都創(chuàng)新互聯(lián)10多年企業(yè)網(wǎng)站制作服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及高端網(wǎng)站定制服務(wù),企業(yè)網(wǎng)站制作及推廣,對成都辦公窗簾等多個領(lǐng)域擁有豐富的網(wǎng)站營銷經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。
以下是?INDEX Hint ?的語法:
/*+ INDEX ( [ @ queryblock ] tablespec [ indexspec [ indexspec ]... ] ) */Hint 的行為取決于?indexspec? 規(guī)范:
- 如果 INDEX Hint 指定了一個單個可用索引,則數(shù)據(jù)庫將對該索引執(zhí)行掃描。優(yōu)化器不考慮全表掃描或表上另一個索引的掃描。
- 如果 ?
INDEX?Hint 指定了可用索引的列表,那么優(yōu)化器將考慮掃描列表中每個索引的成本,然后以最低的成本執(zhí)行索引掃描。如果數(shù)據(jù)庫從這個列表中掃描多個索引并合的訪問路徑成本最低,數(shù)據(jù)庫將選用這種掃描方案。數(shù)據(jù)庫不考慮對沒有在列表中的索引進(jìn)行全表掃描或掃描。 - 如果?
INDEX?Hint 沒有指定具體的索引,那么優(yōu)化器將考慮表上每個可用索引的掃描成本,然后以最低的成本執(zhí)行索引掃描。如果數(shù)據(jù)庫掃描多個索引并合的訪問路徑成本最低,數(shù)據(jù)庫將選用這種掃描方案。優(yōu)化器不考慮全表掃描。
示例如下:
SELECT /*+ INDEX (employees emp_department_ix)*/ employee_id, department_id
FROM employees
WHERE department_id > 50;FULL Hint
?FULL? Hint 指示優(yōu)化器對指定的表執(zhí)行全表掃描。
以下是 ?FULL? Hint 的語法:
/*+ FULL ( [ @ queryblock ] tablespec ) */示例如下:
SELECT /*+ FULL(e) */ employee_id, last_name
FROM hr.employees e
WHERE last_name LIKE :b1;數(shù)據(jù)庫對表 employees 執(zhí)行一次完整的表掃描來執(zhí)行這條語句,即使有一個由 ?WHERE? 子句中的條件提供的索引在列 last_name 上。
在 ?FROM? 子句中,表 employees 有個別名 e,因此 Hint 必須根據(jù)表的別名而不是名稱來引用該表。即使在 ?FROM? 子句中指定了 Schema 名,也不要在 Hint 中引用它們。
名稱欄目:創(chuàng)新互聯(lián)OceanBase教程:OceanBase與訪問路徑相關(guān)的Hint
標(biāo)題網(wǎng)址:http://m.5511xx.com/article/cdjeejo.html


咨詢
建站咨詢
