原始的查询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 545for %%i in (*.rdf) do start /w ... -
compile bat
2010-10-12 21:33 829compile_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 64813 使用索引:合理的索引针对如何用上合理的索引,以下举ORA ... -
test26_4
2010-06-30 16:30 59511 使用索引:建立索引的原则1、索引字段需要建立NOT NU ... -
test26_3
2010-06-30 16:29 5449 索引种类:位图索引Create BITMAP index ... -
test26_2
2010-06-30 16:28 5157 索引种类:反向索引Create index indexna ... -
test26_1
2010-06-30 16:26 6654 索引概述:什么是索引索引是建立在表的一列或多个列上的辅助对 ... -
test26_0
2010-06-30 16:25 5461 Oracle 索引 2 Contents索引概述什么是索 ... -
test25
2010-06-30 15:59 542如何收集表的部分统计信息 如果表很大,收集表的统计信息需要花 ... -
test24
2010-06-30 15:53 567处理exp Exporting questionable st ... -
test23_1
2010-06-30 15:49 624Argument Name ... -
test23
2010-06-30 15:47 536回收表的高水平位 表的高水平位(High water mar ... -
test22
2010-06-30 15:29 575dblink的使用1、现象、问题描述 在local服务器上有 ... -
test21
2010-06-30 15:29 590如何查询长时间的操作何时结束 数据库中有一个视图中v$ses ... -
test20
2010-06-28 16:48 508如何只恢复经过多次commit后的某个事务 SQL> ... -
test19_1
2010-06-28 16:45 506但ORACLE又提供了另外一种机制:从redo日志或归档日志中 ... -
test19_1
2010-06-28 16:43 441但ORACLE又提供了另外一种机制:从redo日志或归档日志中 ... -
test19
2010-06-28 16:43 671如何恢复删除并且commit ...
相关推荐
test8.m
test8.DSN
1024-test8.py
Oxford Online Placement Test 8doc资料.pdf
AD574驱动程序,Verilog源程序,完整工程,包含TestBench
test TESTtest TESTtest TESTtest TESTtest TESTtest TESTtest TESTtest TESTtest TESTtest TESTtest TESTtest TESTtest TESTtest TESTtest TESTtest TESTtest TEST
test3test3test3test3test3test3test3test3test3test3test3test3test3test3test3test3test3test3test3test3test3test3test3
蓝桥杯test蓝桥杯test蓝桥杯test
测试test测试test测试test测试test测试test
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
test rtesttesttesttest rtesttesttesttest rtesttesttesttest rtesttesttesttest rtesttesttesttest rtesttesttesttest rtesttesttesttest rtesttesttesttest rtesttesttesttest rtesttesttesttest ...
eNetTest 网管内网单机测速工具eNetTest 网管内网单机测速工具eNetTest 网管内网单机测速工具eNetTest 网管内网单机测速工具eNetTest 网管内网单机测速工具eNetTest 网管内网单机测速工具eNetTest 网管内网单机测速...
putty-test putty-test putty-test putty-test putty-test putty-test
test python programming language
C++test 文档库包含以下各项: • C++test 用户手册 ( 当前指南): C++test 用户手册(当前指南):解释如何使用在 Eclipse 上构 建的 C++test 功能(如果您拥有单机版的 C++test),或者如何使用添加到 Eclipse 的...
software test automation effective use of test execution 自动化测试
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\...
软件测试 test软件测试 test软件测试 test软件测试 test