explain plan for 一下看看
解决方案 »
- ORACAL TNS 12505 ORA-12505 TNS:listener does not currently know of SID given in
- [急切求助]Function如何返回多个参数?
- 求SQL……………………急~~~
- 数据库插入就有问题不知道问题是什么地方的错误
- oracle 10g创建数据库提示‘ORA-01092: ORACLE 实例终止。强制断开连接’是怎么回事?
- 谁用过OCI涵数,近来看看.
- oracle 中 LTRIM()函数的问题
- 实际应用索引组织表遇到问题,请高人指点
- 我想知道:使用索引有什么好处????????/
- 请较高手,如何将Excel的数据倒入到数据库中????
- 各位有没有注意,在PB6+ORACLE中在PB检索出数据后可另存为文本、电子表格等,,我很想知道的是,在另存为文本的时候,每个字段之间是用什
- 数据库同步问题
then input your sql and see the explain plan returned by oracle :-)
test1(id number(10),name varchar(100),ptime date)
test1(id number(10),name varchar(100),ptime varchar2(10))
都有10万条纪录,
select count(*) from test1
where ptime between to_date('2000/08/02','yyyy/mm/dd')
and to_date('2003/08/02','yyyy/mm/dd')
order by ptime Elapsed: 00:00:00.31 select count(*) from test2
where to_date(ptime,'yyyy/mm/dd') between to_date('2000/08/02','yyyy/mm/dd')
and to_date('2003/08/02','yyyy/mm/dd')
order by ptime Elapsed: 00:00:02.24
查询结果相同,时间不同
怎么和你的结果不同啊
无法验证 plan table 格式或实体
启用explain报告时出错
无法找到会话表示府。启用检查PLUSTRACE角色
启用STATISTICE报告时出错
select * from tb1
where a1 like '%ddd%'
and a3>=to_date('2001-08-02','yyyy-mm-dd')
and a3<=to_date('2001-08-02','yyyy-mm-dd')
order by a3
------------
注意:a1 like '%ddd%'要放在前面。还有,我觉得这么写比between好
and a3>=……
and a3<=……
这种写法有索引的时候和between速度差不多
但没有索引的时候,比between的速度要快。
还有,日期型检索肯定比vrachar2快。你是建的一样的索引吗?
第一次执行慢是因为like ,他是对全表搜索,当然慢
第二次快是因为同样的like刚执行完,当然比第一次快
如果你去掉like 条件,结果就不一样了
SQL>@ D:\Oracle\Ora81\RDBMS\ADMIN\utlxplan.sql (路径要改)
你使用了like,这必然导致全表搜索
第一次执行当然就慢了,第二次已经搜索过了,自然就比第一次快了
这次是正确的解释了,把奖励分数给我
第一种方案应该利用上了索引,第二种方案肯定没用上索引。速度应该是第一种快呀--好好奇怪!
date类型的条件查询比 varchar2的快,
如果把like 的条件去掉,就是正常的了
你使用了like,这必然导致全表搜索
第一次执行当然就慢了,第二次已经搜索过了,自然就比第一次快了
这次是正确的解释了,把奖励分数给我,否则下次不管你了
2.把like去掉试试结果贴出来,大家看看