19.1 Overview of Optimizer Hints

A hint is an instruction to the optimizer.
In a test or development environments, hints are useful for testing the performance of a specific access path.

19.1.2.3 Hints for Access Paths
FULL, CLUSTER, HASH, INDEX and NO_INDEX, INDEX_ASC and INDEX_DESC, INDEX_COMBINE and INDEX_JOIN
INDEX_JOIN, INDEX_FFS and NO_INDEX_FFS, INDEX_SS and NO_INDEX_SS, INDEX_SS and NO_INDEX_SS
19.1.2.4 Hints for Join Orders
LEADING, ORDERED
19.1.2.5 Hints for Join Operations
USE_NL and NO_USE_NL, USE_NL_WITH_INDEX, USE_MERGE and NO_USE_MERGE, USE_HASH and NO_USE_HASH, NO_USE_HASH
19.1.2.7 Hints for Parallel Execution
PARALLEL and NO_PARALLEL
PARALLEL_INDEX and NO_PARALLEL_INDEX
PQ_DISTRIBUTE
19.1.2.9 Additional Hints
APPEND, APPEND_VALUES, and NOAPPEND
CACHE and NOCACHE
PUSH_PRED and NO_PUSH_PRED
PUSH_SUBQ and NO_PUSH_SUBQ
QB_NAME
CURSOR_SHARING_EXACT
DRIVING_SITE
DYNAMIC_SAMPLING
MODEL_MIN_ANALYSIS

19.2 Specifying Hints

一个复杂的SQL语句, 你要给定全部的HINT, 比如你只给了单一的一个方面, 但是Oracle处于另一方面考虑, 有可能忽略你的hint
EX:
SELECT /*+ LEADING(e2 e1) USE_NL(e1) INDEX(e1 emp_emp_id_pk)
USE_MERGE(j) FULL(j) */
e1.first_name, e1.last_name, j.job_id, sum(e2.salary) total_sal
FROM employees e1, employees e2, job_history j
WHERE e1.employee_id = e2.manager_id
AND e1.employee_id = j.employee_id
AND e1.hire_date = j.start_date
GROUP BY e1.first_name, e1.last_name, j.job_id
ORDER BY total_sal;

19 Using Optimizer Hints的更多相关文章

  1. optimizer hints

    In version MySQL 5.7.7 Oracle presented a new promising feature: optimizer hints. However it did not ...

  2. MYSQL COST optimizer

    http://blog.chinaunix.net/uid-26896862-id-3326400.html https://www.slideshare.net/olavsa/mysql-optim ...

  3. rule-based optimizer cost-based optimizer

    SQL processing uses the following main components to execute a SQL query: The Parser checks both syn ...

  4. [SQL类] SQL优化大全(推荐)

    概要 优化的理由 1. 大小写对SQL语句的影响(ORACLE) 2. 尽量使用(NOT) EXISTS 替代( NOT)IN这样的操作 3. 在海量查询时尽量少用格式转换 4. 查询海量数据是,可以 ...

  5. 为什么说JAVA中要慎重使用继承 C# 语言历史版本特性(C# 1.0到C# 8.0汇总) SQL Server事务 事务日志 SQL Server 锁详解 软件架构之 23种设计模式 Oracle与Sqlserver:Order by NULL值介绍 asp.net MVC漏油配置总结

    为什么说JAVA中要慎重使用继承   这篇文章的主题并非鼓励不使用继承,而是仅从使用继承带来的问题出发,讨论继承机制不太好的地方,从而在使用时慎重选择,避开可能遇到的坑. JAVA中使用到继承就会有两 ...

  6. MySQL 5.6, 5.7, 8.0版本的新特性汇总大全

    转载:http://blog.itpub.net/15498/viewspace-2650661/ MySQL 5.6 1).支持GTID复制 2).支持无损复制 3).支持延迟复制 4).支持基于库 ...

  7. 【0.4】mysql版本特性(5.6-8.0)【转】

    转自:http://blog.itpub.net/15498/viewspace-2650661/ MySQL 5.6 1).支持GTID复制 2).支持无损复制 3).支持延迟复制 4).支持基于库 ...

  8. SQL运行内幕:从执行原理看调优的本质

    相信大家看过无数的MySQL调优经验贴了,会告诉你各种调优手段,如: 避免 select *: join字段走索引: 慎用in和not in,用exists取代in: 避免在where子句中对字段进行 ...

  9. 使用Ado.net执行SP很慢,而用SSMS执行很快

    今天遇到一个问题,有用户反应,在site上打开报表,一直loading,出不来结果. 遇到这种问题,我立刻simulate用户使用Filter Condition,问题repro,看来不是偶然事件,通 ...

随机推荐

  1. Android studio -VSN 使用笔记

    1.Android studio 安装 中文组官网:http://www.android-studio.org/ 常见问题参考: 分支冲突合并 http://blog.csdn.net/tearsmo ...

  2. lua module环境探秘

    module 作用 module (name [, ···]) Creates a module. If there is a table in package.loaded[name], this ...

  3. gradle基础的build文件模板_jetty

    group '组织名' version '版本号' /* 支持的插件 */ apply plugin: 'java' // 项目基础变成语言支持为java apply plugin: 'war' // ...

  4. 谨慎使用多线程中的fork

    // Upon successful completion, pthread_atfork() shall return a value of zero; otherwise, an error nu ...

  5. generated clock

    内部时钟的定义: create_generated_clock,通过-source,-edges,-divide_by,-multiply_by来执行clock沿. create_generated_ ...

  6. 使用uiautomator做UI测试

    转载~~~~~~~~~~~~~~~~~~~~~~~~ 若有侵权,请及时联系本博主,博主将第一时间撤销 在Android 4.1发布的时候包含了一种新的测试工具–uiautomator,uiautoma ...

  7. ECMAScript 6教程 (二) 对象和函数

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出 原文连接,博客地址为 http://www.cnblogs.com/jasonnode/ .该系列课程是 ...

  8. Openstack的web管理端相关

    openstack的web管理端技术方面要关注的问题. 同步?异步 先说浏览器的同步和异步,我们知道的浏览器可以使用ajax实现异步请求,就是浏览器在请求数据的时候,我们管理员还能对浏览器就行其他操作 ...

  9. 深入理解Java PriorityQueue

    PriorityQueue 本文github地址 Java中PriorityQueue通过二叉小顶堆实现,可以用一棵完全二叉树表示.本文从Queue接口函数出发,结合生动的图解,深入浅出地分析Prio ...

  10. python核心编程学习记录之模块