我有一个大表,希望迭代记录(> 1,000,000),根据另外2组每个表> = 1执行一些检查,并将结果输出到文本文件.
执行此操作的PL\SQL需要几个小时,我可以对其进行优化,或者我可以将其重写为可并行化的clojure程序,因为只有选择而且没有写入(对表).
问题:1优化PL/SQL有哪些挑战/限制?
2在优化PL/SQL方面,将代码迁移到clojure是否有重大的优势?
编辑 这是它的肉
OPEN cur;
LOOP
FETCH cur INTO l_cur;
EXIT WHEN cur%NOTFOUND;
SELECT NVL (dUM ( (total - total_old)), 0),
NVL (dUM ( (new - old)), 0)
INTO li_debt, li_debt
FROM tbl1
WHERE accounting_date = l_cur.accounting_date
AND USER_ID = l_cur.USER_ID
AND USER_ACCOUNT = l_cur.USER_ACCOUNT;
SELECT NVL (
dUM (
DECODE (a.DEBITS,
'foo', ABS (amount),
ABS (amount) * -1)),
0)
amount
INTO li_dad_bill
FROM daily_trandactiond d, ACCOUNTS a
WHERE d.USER_ID = l_cur.USER_ID
AND d.USER_ACCOUNT …Run Code Online (Sandbox Code Playgroud) 我试图拆分,name但没有使用拆分方法的尝试工作
public void insertUpdate(DocumentEvent e) {
String name="PU_Y"+
"PU-x"+
"Pu-z";
split = name.split("\\r\\n");
split = name.split("\r\n");
split = name.split("[\r\n]+");
split = name.split("[\\r\\n]+");
split = name.split("\\r?\\n");
// I tried using all the above to split above string but was not successful
}
Run Code Online (Sandbox Code Playgroud)
请帮助分割这个字符串