***请教关于BETWEEN的查询速度问题***

sprite18 2006-10-30 01:52:36
我有一SQL语句

select sum(jine) as famount
from T2_YEB A LEFT JOIN T2_LACCOUNT B
on A.fport = B.fport and A.fcode = B.fcode AND B.fyear = '2006'
where A.fport in ('000001', '000002', '000003', '000004', '000005',
'000006', '000007', '000008', '000009') and
A.fdate between to_date('2006-01-01', 'yyyy-MM-dd') and
to_date('2006-09-30', 'yyyy-MM-dd') and A.fcurrencycode = 'USD' and
A.facctcode = '4301'

其中T2_YEB主键和索引为:FPORT,FDATE,FCODE
T2_LACCOUNT的主键和索引为:FYEAR,FPORT,FCODE
如果我的查询日期段是1月1日到1月30日,速度为0.5秒
可如果变成1月1日到9月30日,速度就变成了22秒多

我知道因为查询量大了,所以速度慢了,可也一定有什么方法解决这个问题的吧?
...全文
497 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sprite18 2006-11-06
  • 打赏
  • 举报
回复
好象没有什么明显的区别
guoxyj 2006-11-06
  • 打赏
  • 举报
回复
很少用BETWEEN
用大于小于试试
sprite18 2006-11-02
  • 打赏
  • 举报
回复
......
sprite18 2006-10-31
  • 打赏
  • 举报
回复
怎么没人啊?
sprite18 2006-10-30
  • 打赏
  • 举报
回复
谢顶
再顶下
sten 2006-10-30
  • 打赏
  • 举报
回复
不知道,帮你顶了再说

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧