sql如下:
select t.description as "description",
f.area_no as "area_no",
f.city_no as "city_no",
f.city_name as "city_name",
f.town_no as "town_no",
f.town_name as "town_name",
f.channel_no3 as "channel_no3",
f.channel_name3 as "channel_name3",
nvl(sum(f.day_value), 0) as "month_total",
nvl(sum(f.day_value_lm), 0) as "last_month_value"
from dm.dm_td_dev_Analysis_depart f, dmcode.dmcode_area t
where acct_date <= 20100801
and acct_date >= 20100801
and f.flag = 01
and t.area_no = f.area_no
group by f.channel_no3,
f.channel_name3,
f.town_no,
f.town_name,
f.city_no,
f.city_name,
f.area_no,
t.description,
t.idx_no
order by t.idx_no, f.city_no, f.town_no, f.channel_no3这个表 建了2个索引,一个是acct_date 另一个是acct_date和flag 组合的,但是执行的时候怎么不走索引呢???
页面展现的太慢了
select t.description as "description",
f.area_no as "area_no",
f.city_no as "city_no",
f.city_name as "city_name",
f.town_no as "town_no",
f.town_name as "town_name",
f.channel_no3 as "channel_no3",
f.channel_name3 as "channel_name3",
nvl(sum(f.day_value), 0) as "month_total",
nvl(sum(f.day_value_lm), 0) as "last_month_value"
from dm.dm_td_dev_Analysis_depart f, dmcode.dmcode_area t
where acct_date <= 20100801
and acct_date >= 20100801
and f.flag = 01
and t.area_no = f.area_no
group by f.channel_no3,
f.channel_name3,
f.town_no,
f.town_name,
f.city_no,
f.city_name,
f.area_no,
t.description,
t.idx_no
order by t.idx_no, f.city_no, f.town_no, f.channel_no3这个表 建了2个索引,一个是acct_date 另一个是acct_date和flag 组合的,但是执行的时候怎么不走索引呢???
页面展现的太慢了
解决方案 »
- 如何写这样的insert&update触发器
- 求几本oracle经典资料,入门和进阶的都行最好有详细的案例。(小妹在此谢过了)
- 这个运行在Oracle 10g的存储过程错在那里
- pl/sql 连接oracle---ora-01031
- Oracle cmd导入数据库失败 求帮助
- ora_smon进程自动挂起 狂占资源 求解 急!
- 建表问题 当数据类型为一个范围,语句该怎么写??
- 使用PL\SOL Developer时登陆不进去,出现“找不到指定模块”oci.dll的错误。
- 关于Oracle7中存储过程的问题(100分,不够再加)在线等待
- Oralce 给表的多个字段建索引,是直接给所有字段建立一个索引,还是每个字段分别建立索引。
- 请高手指点如何写比较效率的分类汇总语句
- 数据库抛了如下异常请问是怎么回事?
/*+index(表名 索引名)*/
改为
where acct_date <= to_date('20100801','yyyymmdd')
and acct_date >= to_date('20100801','yyyymmdd')
and f.flag = '01'
试试