好长时间没写东东了,今天写了一个oracle的分页存储过程,贴出来与大家分享。
由于。net框架中的gridview等控件的分页功能太弱,所以大部分程序员都会自己写分页功能,而调用分页存储过程是必须的。
前台aspx页面不管是用下载的dll还是用自己写的用户控件,都能实现自己的功能,然而分页的存储过程就需要好好的考虑了,下边是我写的oracle的存储过程(参考sql server数据库的存储过程写成的),效率还可以,并附上调试的过程(调试环境:win2003、oracle 9i,调试工具:pl/sql):
--I/O消耗1071
select id,orgid,dj_date,khid,khcode,khname,feeid from fee_ysfy;
--493408
select count(id) from fee_ysfy;
--22.391执行完成(内外都有order by)
select id, orgid, dj_date, khid, khcode, khname, feeid
from (select rownum rn, t.id, orgid, dj_date, khid, khcode, khname, feeid
from fee_ysfy t
where 1 = 1
order by id desc)
where rn <= 45
and rn >= 30
order by id desc
--22.437(只有子查询有order by)
select id, orgid, dj_date, khid, khcode, khname, feeid
from (select rownum rn, t.id, orgid, dj_date, khid, khcode, khname, feeid
from fee_ysfy t
where 1 = 1
order by id desc)
where rn <= 45
and rn >= 30
--优化去掉order by0.891(去掉所有的order by)
select id, orgid, dj_date, khid, khcode, khname, feeid
from (select rownum rn, t.id, orgid, dj_date, khid, khcode, khname, feeid
from fee_ysfy t
where 1 = 1
)
where rn <= 45
and rn >= 30
--将order by放到外边0.828秒(把order by放到外边)
select id, orgid, dj_date, khid, khcode, khname, fee
Oracle 10g中的EM采用Web的形式来管理数据库及相关服务,但使用过程中会碰到一些跟EM有关的问题,根据同行的提示及笔者的实际经验,进行了一些归纳,希望对相关爱好者有所帮助:
(1)数据库控制台启动后,看到1)数据库实例无信息2)监听程序为状态为不可用3)到实例的代理连接状态为不可用。
问题分析:
此时服务刚启 ......