下面的语句,怎样写可以提高速度?

[复制链接]
查看11 | 回复2 | 2005-7-16 18:49:11 | 显示全部楼层 |阅读模式
SELECT
mon,
line_code,
user_no,
line_power,
pub_users,
pub_sigles,
pub_sale,
pub_sigle_power,
priv_users,
priv_sale,
write_sect_no,
business_place_code,
line_dept_code,
line_type,
line_code_up,
line_volt_level,
sanxiang_users,
sanxiang_sale,
line_lose
FROM (
select

max(mon) mon,

max(line_code) line_code,

max(user_no) user_no,

sum(decode(user_type1,50,line_power,0)) line_power,

sum(pub_users) pub_users,

sum(pub_sigles) pub_sigles,

sum(pub_sale) pub_sale,

sum(pub_sigle_power) pub_sigle_power,

sum(priv_users) priv_users,

sum(priv_sale) priv_sale,

max(write_sect_no) write_sect_no,

max(business_place_code) business_place_code,

max(line_dept_code) line_dept_code,

max(line_type) line_type,

max(line_code_up) line_code_up,

max(line_volt_level) line_volt_level,
nvl((sum(pub_users) - sum(pub_sigles)),0) sanxiang_users,

nvl((sum(pub_sale) - sum(pub_sigle_power)),0) sanxiang_sale,
decode(sum(decode(user_type1,50,line_power,0)),0,0,
round((sum(decode(user_type1,50,line_power,0)) - sum(pub_sale) -
sum(priv_sale))/sum(decode(user_type1,50,line_power,0))*100,2)) line_lose
from line_powers
where user_type1 in ('50','60')
group by line_code)
WHERE LENGTH(LINE_CODE) = '6'
回复

使用道具 举报

千问 | 2005-7-16 18:49:11 | 显示全部楼层
LENGTH(LINE_CODE)
create index idx_xxxx on line_powers(LENGTH(LINE_CODE))
回复

使用道具 举报

千问 | 2005-7-16 18:49:11 | 显示全部楼层
如:(user_type1 ='50' or user_type1='60')
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行