存储过程 入参为空的优化
这是我现在的代码:
后来单步执行,以及把语句摘出来运行发现,后面的条件 para is null or ...这类语句对效率的影响还是很大的~
求大神告诉如何进行优化~
procedure SALE(para_s_rq in varchar2 ,
para_e_rq in varchar2,
para_reminder_id in varchar2,
para_buyer_id in varchar2,
para_goods_id in varchar2,
para_supplier_id in varchar2,
para_saler_id in varchar2,
para_orgid in integer,
para_p_cursor out t_cursor) is
begin
insert into A
select * from B
where b.date between(para_s_rq and para_e_rq)
(case when para_supplier_id is null or t.policy_supp_id =para_supplier_id then 1 else 0 end)=1
and (case when para_reminder_id is null or t.policy_reminder_id =para_reminder_id then 1 else 0 end)=1
and (case when para_orgid is null or b.org_id =para_orgid then 1 else 0 end)=1
and (case when para_goods_id is null or b.goodsid=para_goods_id then 1 else 0 end)=1
and (case when para_buyer_id is null or b.SUPPLYERID=para_buyer_id then 1 else 0 end)=1
and (case when para_reminder_id is null or t.policy_reminder_id=para_reminder_id then 1 else 0 end)=1
and (case when para_saler_id is null or b.salerid=para_saler_id then 1 else 0 end)=1
end SALE_REBATE_SETTLE;
后来单步执行,以及把语句摘出来运行发现,后面的条件 para is null or ...这类语句对效率的影响还是很大的~
求大神告诉如何进行优化~
...全文
相关推荐
SQLserver2008存储过程编写(有参和无参)
通过灵活运用这些特性,我们可以构建出复杂而功能强大的存储过程,以满足不同业务需求。在SQL Server 2008中,熟练掌握存储过程的编写和使用对于优化数据库操作和提升数据库管理效率至关重要。
C# 调用含参存储过程
在数据库操作中,存储过程是一个预编译的SQL语句集合,它可以在数据库服务器上执行,提高了执行效率并提供了封装和重用的能力。本篇将详细讨论如何在C#中调用含参存储过程。首先,我们来看存储过程的创建。
Oracle存储过程详解[代码]
创建存储过程时,首先需要使用CREATE PROCEDURE语句,然后定义过程名称和所需的参数。无入参出参的过程是最基础的,它不接受任何输入参数,也不返回任何输出参数,仅仅执行一系列的数据库操作。
ORACLE存储过程性能优化技巧
性能优化是数据库管理的核心任务之一,尤其是对于处理大量数据的企业级应用,存储过程的优化能显著提升系统效率。以下是一些关于"ORACLE存储过程性能优化技巧"的关键知识点:1.
oracle 存储过程优化
Oracle存储过程优化是数据库开发工程师在日常工作中不可或缺的技能,它涉及到数据库性能调优、代码效率提升以及资源管理。本文将详细介绍如何通过创建、设计和执行存储过程来优化Oracle数据库操作,特别


基础和管理
