各位好! 遇到个数据库性能的问题 请教一下目前我们在查询报表时 会出现 有时候快 有时候慢的情况 尤其是在同一天 我们查某辆车时 第一次查会慢 第2次查其他车 但时间不变 则会快很多 查询涉及的表 数据量非常大 按天分区的 而我们查询 也限制了 只能每天每天的查询 只是时间段不一样如下是查询的存储过程SQL:create or replace procedure oil_consumption_proc(in_vin in varchar2,
in_begtime in varchar2,
in_endtime in varchar2,
out_ref out sys_refcursor,
out_flag out varchar2,
out_msg out varchar2) is
begin
out_flag := '0';
out_msg := '????';
OPEN out_ref FOR
select a.terminal_time,
a.speeding,
a.engine_rotate_speed,
a.oil_instant
from CLW_YW_TERMINAL_RECORD_t a
where a.vehicle_vin = in_vin
and a.terminal_time >= to_date(in_begtime, 'yyyy-mm-dd hh24:mi:ss')
and a.terminal_time <= to_date(in_endtime, 'yyyy-mm-dd hh24:mi:ss')
ORDER BY a.terminal_time;EXCEPTION
WHEN OTHERS THEN
out_msg := '????????:' || SQLERRM;
out_flag := '1';
IF out_ref%ISOPEN THEN
CLOSE out_ref;
END IF;
end oil_consumption_proc;帮忙分析一下 谢谢!!!!
in_begtime in varchar2,
in_endtime in varchar2,
out_ref out sys_refcursor,
out_flag out varchar2,
out_msg out varchar2) is
begin
out_flag := '0';
out_msg := '????';
OPEN out_ref FOR
select a.terminal_time,
a.speeding,
a.engine_rotate_speed,
a.oil_instant
from CLW_YW_TERMINAL_RECORD_t a
where a.vehicle_vin = in_vin
and a.terminal_time >= to_date(in_begtime, 'yyyy-mm-dd hh24:mi:ss')
and a.terminal_time <= to_date(in_endtime, 'yyyy-mm-dd hh24:mi:ss')
ORDER BY a.terminal_time;EXCEPTION
WHEN OTHERS THEN
out_msg := '????????:' || SQLERRM;
out_flag := '1';
IF out_ref%ISOPEN THEN
CLOSE out_ref;
END IF;
end oil_consumption_proc;帮忙分析一下 谢谢!!!!
解决方案 »
- 请教一个怎样提高数据插入效率的问题
- oracle几个概念问题
- 触发器实现唯一性约束问题
- 在一个SELECT 语句里又查询又统计?
- Oracle的Date类型,入库的时候可以呈现出2013.11.11这种格式吗?
- 想保存 CHR(149)||CHR(146) 到字段.
- 大家国庆快乐! 初学Oracle,请多关照! 顺便请大家推荐几本学习Oracle的好书
- delete语句 优化问题:10000条记录要4个小时?
- 日期型显示
- 请教:有没有工具可以将数据库中已经有的表的sql脚本自动导出的??
- Linux 安装 Oracle 要安装若干的补丁,新手很多疑惑
- 分组查询将多行字段合并到一行的SQL写法,大家看看该怎么写~~~
--能给些提示么
就是现在 第一次查很慢 非常慢 2分钟大概 现在客户要求我们调优 而且现在我们还找不到 到底是哪里出现的问题 导致这情况
--时快时慢 不过怎么查 第一次都慢 而问题就是第一次超级慢 客户很不满还有这个表 不只数据量非常庞大,而且是实时进行数据插入操作的 需要表结构 么 麻烦帮忙分析下呗 谢谢
!!