原始的查询SQL如下:
select *
from
sm_histable0622
where destaddr = '8613423715374' And Final >'2007-6-27'
And orgaddr = '1860' and Expire<'2007-8-27'
在这个SQL中红色部分(index in1)和蓝色部分字段(index in2)是两个组合索引,但Oracle 只能利用到一个索引,如下:
但表中的记录很多时这个原始查询很慢。有没有办法让查询使用到两个索引呢?
Oracle Hint是一种让DBA自行指定优化器的行为的方法,当优化器的优化结果不能满足我们的要求时我们可以通过Hint的方法人为地指定查询计划。
理论上一个优秀的优化器是不用人去干预它的行为,但"智者千里必有一失" ,有时优化器也不是万能的,
也需要人的智慧去补充其行为,Hint就是这个最后的银弹。
Hint行为有多种方式,具体的Hint 可以查询Oracle的相关的文档。
使用Oracle hint 之后就可以使用到两个索引,从而使查询效率大幅提高 。
select /*+index_combine(a in1 in2)*/*
from
sm_histable0622 a
where destaddr = '8613423715374' And Final >'2007-6-27'
And orgaddr = '1860' and Expire<'2007-8-27'
经过测试,使用Hint之后的速度比原来提高了50倍左右。
发表评论
-
compile_6i
2010-10-12 21:35 628for %%i in (*.rdf) do start /w ... -
compile bat
2010-10-12 21:33 854compile_pll_form.bat for %%i i ... -
test26_7
2010-06-30 16:33 1315 使用索引:索引未用上?是否为表和相关的索引搜集足够的统计 ... -
test26_6
2010-06-30 16:32 1414 使用索引:索引未用上?检查被索引的列或组合索引的首列是否 ... -
test26_5
2010-06-30 16:31 67413 使用索引:合理的索引针对如何用上合理的索引,以下举ORA ... -
test26_4
2010-06-30 16:30 62211 使用索引:建立索引的原则1、索引字段需要建立NOT NU ... -
test26_3
2010-06-30 16:29 5719 索引种类:位图索引Create BITMAP index ... -
test26_2
2010-06-30 16:28 5487 索引种类:反向索引Create index indexna ... -
test26_1
2010-06-30 16:26 6864 索引概述:什么是索引索引是建立在表的一列或多个列上的辅助对 ... -
test26_0
2010-06-30 16:25 5701 Oracle 索引 2 Contents索引概述什么是索 ... -
test25
2010-06-30 15:59 566如何收集表的部分统计信息 如果表很大,收集表的统计信息需要花 ... -
test24
2010-06-30 15:53 588处理exp Exporting questionable st ... -
test23_1
2010-06-30 15:49 643Argument Name ... -
test23
2010-06-30 15:47 590回收表的高水平位 表的高水平位(High water mar ... -
test22
2010-06-30 15:29 601dblink的使用1、现象、问题描述 在local服务器上有 ... -
test21
2010-06-30 15:29 617如何查询长时间的操作何时结束 数据库中有一个视图中v$ses ... -
test20
2010-06-28 16:48 538如何只恢复经过多次commit后的某个事务 SQL> ... -
test19_1
2010-06-28 16:45 540但ORACLE又提供了另外一种机制:从redo日志或归档日志中 ... -
test19_1
2010-06-28 16:43 470但ORACLE又提供了另外一种机制:从redo日志或归档日志中 ... -
test19
2010-06-28 16:43 696如何恢复删除并且commit ...
相关推荐
test8.m
test8.DSN
test 8听力.zip
1024-test8.py
eNetTest 网管内网单机测速工具eNetTest 网管内网单机测速工具eNetTest 网管内网单机测速工具eNetTest 网管内网单机测速工具eNetTest 网管内网单机测速工具eNetTest 网管内网单机测速工具eNetTest 网管内网单机测速...
(speedtest服务器搭建教程) 本篇教程旨在指导读者搭建speedtest服务器,通过安装PHPStudy、配置WNMP和Nginx、下载并配置speedtest测速平台,实现本地测速功能。 一、 PHPStudy 安装和配置 PHPStudy 是一个集成...
Modeltest 使用说明 Modeltest 是一个选择核苷酸替代模型的软件,通过和 PAUP 配合使用,可以选择出合适的 MODEL,并同时计算出相关参数。下面是 Modeltest 的使用说明和相关知识点: 一、Modeltest 概述 * Model...
test.dmp test.dmp test.dmp test.dmp
最好用的单元测试工具,除了这里你是找不到9.0版本的破解的。 ... 独立的版本破解: ... 把lic_client.jar复制到 ... c:\Program Files (x86)\Parasoft\Test\9.0\plugins\...这个是:plugins-c++Test For Visual Studio.7z
PassMark BurnInTest V5.3 Copyright (C) 1999-2008 PassMark Software All Rights Reserved http://www.passmark.com Overview ======== Passmark's BurnInTest is a software tool that allows all the major sub...
c:\Program Files (x86)\Parasoft\C++test for Visual Studio\9.0\plugins\ 这个目录中 把plugins-Test for Virsual Studio.7z 中的文件覆盖到 c:\Program Files (x86)\Parasoft\Test for Visual Studio\9.0\...
Parasoft C++Test 9.5是一款由Parasoft公司开发的专业自动化白盒测试工具,专注于C++编程语言的测试。它集成了多种测试策略,包括静态代码分析、动态测试、单元测试、代码覆盖率分析以及缺陷预防等功能,旨在提高...
Google Test是Google开发的一款强大的C++测试框架,它使得C++开发者能够编写单元测试和集成测试,以确保代码的质量和稳定性。本文档将详细介绍Google Test框架的使用方法,包括基本概念、断言、测试套件、测试用例、...
Test Bench是电子设计自动化(EDA)领域中的一个重要概念,主要用于验证数字集成电路的设计。在硬件描述语言(HDL,如Verilog或VHDL)中,Test Bench是模拟真实硬件环境来测试设计功能的一个虚拟平台。它能帮助...
8. **错误检测**:通过snmptest,可以检测设备是否正确响应SNMP请求,例如超时、无效响应等。 9. **日志和调试**:snmptest通常有详细的日志记录和调试选项,帮助分析和解决问题。 10. **安全配置**:对于SNMPv3,...
CAN Test V2.53 软件使用说明 CAN Test V2.53 软件是一款功能强大且易用的CAN总线测试工具,旨在帮助用户快速地测试和诊断CAN总线设备。以下是CAN Test V2.53 软件使用说明的详细知识点: 软件安装 CAN Test 软件...
**串口调试工具——PortTest详解** 在计算机通信领域,串行端口(Serial Port)是一种常见的硬件接口,用于设备间的通信。PortTest是一款专为串口调试设计的实用工具,它可以帮助用户检测和测试串口通讯功能,确保...
TEST
### ECU-Test高级教程知识点解析 #### 一、ECU-Test概述 **ECU-Test**是一款专为汽车电子控制单元(ECU)开发与验证而设计的强大工具。它支持自动化测试流程,并能有效管理和控制整个测试环境,极大地提高了ECU开发...
javaTest1javaTest1javaTest1