关于select语句优化的问题,在这请教大家!

[复制链接]
查看11 | 回复9 | 2013-3-18 15:53:00 | 显示全部楼层 |阅读模式
在ods_yhs_rkxx表中入库日期(rk_rq)在2009年度纳税人税收金额(rk_je)排行前100名
要求的字段:纳税人编码,名称,注册类型,行业,入库金额,管理机关

我写的sql如下(要执行很长时间才可以看到结果)谁帮忙优化下:
select o.nsrbm as 纳税人编码, d.mc as 名称,zc.djzclx_mc as 注册类型,d.hy_dm as 行业,o.rk_je as 入库金额,swjg.mc as 管理机关
from (select * from ods_yhs_rkxx where to_char(rk_rq,'yyyy')='2009' order by rk_je),ods_yhs_rkxx o
join dim_djzclx zc
on zc.djzclx_dm=o.zclx_dm
join dim_hy d
on d.hy_dm=o.hy_dm
join dim_swjg swjg
on swjg.swjg_dm=o.swjg_dm
where rownum<=100 order by rownum asc

回复

使用道具 举报

千问 | 2013-3-18 15:53:00 | 显示全部楼层
1,你给出的T-SQL语句是不全的,请给出完整的T-SQL。
2,请给出执行计划,最好是用set statistics profile on方式给出的文本类型的计划。
回复

使用道具 举报

千问 | 2013-3-18 15:53:00 | 显示全部楼层
SQLBeginner 发表于 2013-3-18 16:03
1,你给出的T-SQL语句是不全的,请给出完整的T-SQL。
2,请给出执行计划,最好是用set statistics profile ...

这可语句是可以看到结果的啊,是完整的吧,我不是很懂啊,菜鸟!
回复

使用道具 举报

千问 | 2013-3-18 15:53:00 | 显示全部楼层
Jackbasecn 发表于 2013-3-18 16:25
这可语句是可以看到结果的啊,是完整的吧,我不是很懂啊,菜鸟!

你那个rownum列是哪里来的,是在哪个表中定义的吗?
回复

使用道具 举报

千问 | 2013-3-18 15:53:00 | 显示全部楼层
是的啊
回复

使用道具 举报

千问 | 2013-3-18 15:53:00 | 显示全部楼层
SQLBeginner 发表于 2013-3-18 16:31
你那个rownum列是哪里来的,是在哪个表中定义的吗?

恩,是的
回复

使用道具 举报

千问 | 2013-3-18 15:53:00 | 显示全部楼层
Jackbasecn 发表于 2013-3-18 16:41
恩,是的

OK,
请给出rownum对应的表名;
以及执行计划
回复

使用道具 举报

千问 | 2013-3-18 15:53:00 | 显示全部楼层
SQLBeginner 发表于 2013-3-18 16:43
OK,
请给出rownum对应的表名;
以及执行计划

不好意思,我弄错了,rownum是伪列,没有定义。
回复

使用道具 举报

千问 | 2013-3-18 15:53:00 | 显示全部楼层
Jackbasecn 发表于 2013-3-18 17:15
不好意思,我弄错了,rownum是伪列,没有定义。

那你上面的T-SQL 跑的时候既然不会抛错?
回复

使用道具 举报

千问 | 2013-3-18 15:53:00 | 显示全部楼层
SQLBeginner 发表于 2013-3-18 17:18
那你上面的T-SQL 跑的时候既然不会抛错?

不会的啊!就是时间有点长,得优化
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行