有哪些
选项可以在PL/SQL存储过程中实现工作负载平衡。我不是在谈论配置服务器以处理工作负载,而是在谈论将此类功能实现到特定的存储过程中。
假设我有一个过程,它接收数据,读取数据,处理数据,然后返回结果。如果数据集非常大,则当贪婪的用户发送其大型数据集进行处理时,系统的其他用户将感受到性能下降。
一种解决方案是每 x 次迭代使用一个等待命令(如果数据集以类似循环的方式读取),以允许其他用户请求在处理大型请求期间处理一段时间。
有没有其他方法可以在单个PL/SQL过程/包中实现这种事情?
如果您要获取的数据非常大,我们可以像这样使用收集和批量收集:
CREATE OR REPLACE
function employee_job return id_tabl as
emp_table id_tabl;
begin
select job_id
bulk collect into emp_table from employees;
return emp_table;
end employee_job;
使用这种类型的代码将减少上下文切换并提高性能。
如果您对答案不满意或无法遵循您的答案,请回复问题正确。