<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 4, comments - 5, trackbacks - 0, articles - 10

    Oracle Sql提示學(xué)習(xí)筆記

    Posted on 2006-11-16 17:05 勇敢的心 閱讀(2198) 評論(1)  編輯  收藏 所屬分類: Oracle
    1、FIRST_ROWS
    ?? 指示優(yōu)化器盡可能快地返回前n行記錄,提高響應(yīng)速度。如果沒有指定參數(shù),則返回第一行。該提示對Update和Insert無效,對包含塊操作的select語句無效,如排序和group。 這樣的語句不能優(yōu)化最佳響應(yīng)時間,因為Oracle在返回第一行之前,必須獲得所有的記錄。如果在這種情況下使用了該提示,優(yōu)化器會優(yōu)化最佳吞吐量(相當(dāng)于ALL_ROWS提示)。
    ?
    2、FULL
    ?? 指示優(yōu)化器執(zhí)行全表掃描,即使有索引,也不會走索引。
    ??
    ??? SELECT ? /* +?FULL(e)? */ ?employee_id,?last_name
    ??????
    FROM ?hr.employees?e? WHERE ?last_name? LIKE ?:b1;
    ??
    ?? 注意:如果表有別名,則必須使用別名。并且即使表加上了schema名稱,在提示中也不能指定schema名稱。
    ?
    3、HASH
    ?? 指示優(yōu)化器使用Hash掃描表,只適用于表簇中的表。
    ?
    4、INDEX
    ?? 指示優(yōu)化器適用Index掃描表,適用于函數(shù)、域、B樹、位圖和位圖聯(lián)合索引。
    ?? Index提示遵循以下規(guī)范:
    ?? a、如果Index提示指定單個的索引,那么數(shù)據(jù)庫執(zhí)行該索引上的掃描,優(yōu)化器不會執(zhí)行全表掃描或者表上的其他索引。
    ?? b、對于指定了多個索引的組合的Index提示,Oracle推薦使用INDEX_COMBINE而不是INDEX提示,因為它更加通用,如果Index提示指定了index列表,那么優(yōu)化器會考慮走每個索引的代碼,并從中選擇代價最小的一條索引,如果掃描多個index的代價最小,那么優(yōu)化器會掃描該個索引列表。優(yōu)化器不會走全表掃描或者沒有在index列表上的索引。
    ?? c、如果Index提示沒有指定Index,優(yōu)化器會評估掃描每個Index的代價,并選擇代價最小的Index,如果組合Index代價最小,那么優(yōu)化器會選擇掃描多個索引,并合并結(jié)果集。優(yōu)化器不會走全表掃描。
    ?
    ??? SELECT ? /* +?INDEX?(employees?emp_department_ix) */ ??employee_id,?department_id
    ????
    FROM ?employees? WHERE ?department_id? > ? 50 ;
    ?
    5、INDEX_ASC
    ?? 按索引值的升序方向掃描索引,其他參數(shù)與INDEX 提示完全一樣。
    ?
    6、INDEX_COMBINE
    ?? 聯(lián)合索引提示。索引規(guī)則與INDEX提示一樣。
    ??
    ??? SELECT ? /* +?INDEX_COMBINE(e?emp_manager_ix?emp_department_ix)? */ ? *
    FROM ?employees?e
    WHERE ?manager_id? = ? 108
    OR ?department_id? = ? 110 ;
    ?
    7、INDEX_DESC
    ? 降序INDEX提示。
    ?
    SELECT ? /* +?INDEX_DESC(e?emp_name_ix)? */ ? *
    FROM ?employees?e;
    ?
    8、INDEX_FFS
    ? 指示優(yōu)化器執(zhí)行快速全索引掃描,而不是全表掃描。
    ?
    SELECT ? /* +?INDEX_FFS(e?emp_name_ix)? */ ?first_name
    FROM ?employees?e;
    ?
    9、INDEX_JOIN
    ??以INDEX JOIN的方式掃描,必須存在足夠少的INDEX,這些索引包含著查詢中所有的列。
    ?
    SELECT ? /* +?INDEX_JOIN(e?emp_manager_ix?emp_department_ix)? */ ?department_id
    FROM ?employees?e? WHERE ?manager_id? < ? 110 ? AND ?department_id? < ? 50 ;
    ?
    10、INDEX_SS
    ? 索引跳躍掃描提示。
    ?
    11、LEADING
    ? 指定特定的表放在執(zhí)行計劃的前面,它比ORDERED提示更加通用。
    ? 如果因為Join路線的依賴關(guān)系而不能首先被Join,提示就會被忽略;如果指定了兩個或者多個沖突的LEADING提示,則他們都會被忽略;如果指定了ORDERED提示,那么LEADING就會被忽略。
    ?
    12、MERGE
    ??將視圖合并到查詢。
    ? 如果視圖查詢語句包含GROUP BY子句或者SELECT語句中用到了 DISTINCT,那么優(yōu)化器能夠?qū)⒁晥D合并到查詢語句中,合成的合并也能夠合并IN子查詢,如果IN子查詢沒有關(guān)聯(lián)。
    ?
    ?? SELECT ? /* +?MERGE(v)? */ ?e1.last_name,?e1.salary,?v.avg_salary
    FROM ?employees?e1,
    (
    SELECT ?department_id,? avg (salary)?avg_salary
    FROM ?employees?e2
    GROUP ? BY ?department_id)?v
    WHERE ?e1.department_id? = ?v.department_id? AND ?e1.salary? > ?v.avg_salary;
    ?
    13、NOAPPEND
    ?? 在并行模式中使用常規(guī)插入方法。
    ?
    14、NOCACHE
    ?
    15、NO_EXPAND
    ?
    16、NO_FACT
    ?
    17、NO_INDEX
    ?
    18、NO_INDEX_SS
    ?
    19、NO_MERGE
    ?
    20、NO_PARALLEL
    ?? 覆蓋了使用DDL語言創(chuàng)建或者更改table的PARALLEL參數(shù)的設(shè)置。
    ?
    21、NO_PARALLEL_INDEX
    ?? 覆蓋了使用DDL語言創(chuàng)建或者更改index的PARALLEL參數(shù)的設(shè)置。
    ?
    22、NO_PUSH_PRED
    ??
    23、NO_PUSH_SUBQ
    ?
    24、NO_PX_JOIN_FILTER
    ??? 阻止優(yōu)化器使用并行聯(lián)合位圖過濾器
    ?
    25、NO_REWRITE
    ??? 使查詢重寫失效
    ?
    26、NO_QUERY_TRANSFORMATION
    ??? 跳過所有查詢轉(zhuǎn)換,包括但不限于:OR-expansion、視圖合并、無嵌套子查詢、星型轉(zhuǎn)換和物化視圖重寫。
    ?
    27、NO_STAR_TRANSFORMATION
    ?
    28、NO_UNNEST
    ?
    29、NO_USE_HASH
    ?
    30、ORDERED
    ?? 指示優(yōu)化器按照FROM子句出現(xiàn)的表順序join表。Oracle推薦使用LEADING提示。
    ?
    31、PARALLEL
    ?? 指示優(yōu)化器使用指定數(shù)目的服務(wù)器去執(zhí)行并行操作,包括SELECT、INSERT、MERGE、UPDATE和DELETE部分的語句和表掃描部分都可使用。
    ?? 注意:如果發(fā)生sort或者group,那么服務(wù)器的數(shù)量應(yīng)該是提示指定的兩倍。
    ?? 如果任何并行都被禁止,那么提示就會被忽略。
    ?? 如果指定了DEFAULT或者沒有指定任何值,那么查詢器就會去檢查初始參數(shù)的設(shè)置來決定并行度。
    ?? 臨時表上的該提示將會被忽略。
    ?
    32、PARALLEL_INDEX
    ?? 為分區(qū)索引指定并行索引掃描的數(shù)量。示例:
    ??? SELECT /*+ PARALLEL_INDEX(table1, index1, 3) */
    ?
    33、PQ_DISTRIBUTE
    ?
    34、PUSH_PRED
    ?
    35、PUSH_SUBQ
    ?
    36、REWRITE
    ??? 對物化視圖使用查詢重寫。

    Feedback

    # re: Oracle Sql提示學(xué)習(xí)筆記  回復(fù)  更多評論   

    2009-04-08 16:59 by YCC
    謝謝!對我有用.

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 在线观看免费亚洲| 日本人护士免费xxxx视频| 久久久久久久亚洲精品| 亚洲国产成人久久精品软件 | 国产成人精品免费视频大| 黄床大片免费30分钟国产精品| 白白国产永久免费视频| 亚洲hairy多毛pics大全| 暖暖免费高清日本一区二区三区| 亚洲国产一区二区三区在线观看 | 国产JIZZ中国JIZZ免费看| 亚洲人成影院在线无码按摩店| 成人自慰女黄网站免费大全| 国产亚洲一区二区精品| 国产好大好硬好爽免费不卡| 亚洲黄色一级毛片| 国内精品乱码卡1卡2卡3免费 | 国产成人亚洲精品青草天美 | 18禁超污无遮挡无码免费网站国产 | 国产成人亚洲综合| 国产无遮挡无码视频免费软件 | 亚洲AV无码无限在线观看不卡| 暖暖在线日本免费中文| 草久免费在线观看网站| 国产亚洲A∨片在线观看| 亚洲免费人成视频观看| 国产亚洲精品欧洲在线观看| 亚洲欧洲日产国码无码久久99| 最近免费中文字幕mv在线电影 | 久久免费香蕉视频| 亚洲国产日韩在线| 亚洲av无码不卡私人影院| 国产免费AV片在线观看| 国产精品亚洲专区在线观看| 亚洲国产精品尤物YW在线观看| 日韩在线不卡免费视频一区| 亚洲人成伊人成综合网久久久 | 在线看片无码永久免费aⅴ| 丰满人妻一区二区三区免费视频| 2022年亚洲午夜一区二区福利| 成人激情免费视频|