1

有哪些选项可用于在 PL/SQL 存储过程中实现工作负载平衡。我不是在谈论配置服务器来处理工作负载,我是在谈论将这样的功能实现到特定的存储过程中。

假设我有一个接收数据、读取数据、处理数据然后返回结果的过程。如果数据集非常大,当一个贪婪的用户发送他们的大数据集进行处理时,系统的其他用户会感觉到性能下降。

一种解决方案是每 x 次迭代使用一个等待命令(如果以类似循环的方式读取数据集。)以允许其他用户请求在处理大请求期间处理一段时间。

有没有其他方法可以在单个 PL/SQL 过程/包中实现这种事情?

4

1 回答 1

1

如果您要获取的数据非常大,我们可以像这样使用收集和批量收集:

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;

使用这种类型的代码将减少上下文切换并提高性能。

如果您对答案不满意或无法正确回答您的问题,请回复。

于 2013-12-03T05:40:23.700 回答