#定义测试表
create table t_max_id(tname varchar2(30),max_id number);
#经测试,显式游标的性能太差了,服务器一下了就慢好多,不能用了
create or replace procedure p_get_table_max_id(v_table_name varchar2,v_table_col_max_id out number)
is
v_max_id number;
cursor c1 is select max_id from t_max_id where tname=v_table_name;
begin
open c1;
loop
fetch c1 into v_max_id;
if c1%notfound then
insert into t_max_id values(v_table_name,1);
commit;
dbms_output.put_line('this is a new table or maybe nonexistable table');
else
update t_max_id set max_id=v_max_id+1 where tname=v_table_name;
commit;
end if;
end loop;
close c1;
end;
/
var a number;
exec p_get_table_max_id('t1',:a);
print a;
Last login: Sat Jun 26 14:18:30 2010 from 192.168.19.168
[root@localhost ~]# vmstat 3 #发现cpu节的wa相当高
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 326576 888052 4212 2025500 1 11 78 792 519 175 3 1 96 1 0
0 0 326576 888052 4212 2025512 0 0 0 16 1005 224 0 0 100 0 0
0 0 326576 888052 4220 2025512 0 0 0 28 1004 225 0 0 100 0 0
0 0 326576 888052 4220 2025512 0 0 0 16 1004 224 0 0 100 0 0
0 0 326576 888052 4228 2025504 0 0 0 23 1005 229 0 0 100 0 0
0 0 326576 888052 4228 2025512 0 0 0 16 1005 222 0 0 100 0 0
0 0 326576 888052 4236 2025504 0 0 0 20 1004 227 0 0 100 0 0
0 0 326576 888052 4236 2025512 0 0 0 16 1003 223 0 0 100 0 0
0 0 326576 888052 4244 2025504 0 0 0 20 1004 225 0 0 100 0 0
0 0 326576 888052 4244 2025512 0 0 0 16 1004 223 0 0 100 0 0
0 0 326140 887496 4252 2025972 204 0 213 28 1024 275 0 0 97 3 0
0 0 326140 887496 4252 2025980 0 0 0 16 1004 225 0 0 100 0 0
0 0 326140 887496 4252 2025980 0 0 0 69 1013 225 0 0 100 0 0
0 0 325576 885212 4344 2026884 357 0 496 33 1074 351 1 0 81 17 0
0 0 325576 885088 4352 2026896 0 0 3 35 1008 233 0 0 100 0 0
0 0 325576 885088 4360 2026888 0 0 1 24 1007 224 0 0 100 0 0
0 0 325576 885088 4360 2026888 0 0 0 16 1005 226 0 0 100 0 0
0 0 325576 885088 4368 2026880 0 0 0 21 1004 228 0 0 100 0 0
0 0 325576 885088 4368 2026880 0 0 0 16 1004 227 0 0 100 0 0
0 0 325576 885088 4376 2026872 0 0 0 20 1005 226 0 0 100 0 0
0 0 325576 885088 4376 2026872 0 0 0 16 1003 223 0 0 100 0 0
0 0 325576 885088 4384 2026864 0 0 0 20 1006 226 0 0 100 0 0
0 0 325576 885088 4384 2026864 0 0 0 16 1005 224 0 0 100 0 0
0 0 325576 885088 4392 2026856 0 0 0 20 1004 226 0 0 100 0 0
0 0 325576 885088 4392 2026856 0 0 0 19 1005 226 0 0 100 0 0
1 0 325576 885088 4400 2026848 0 0 0 23 1003 224 0 0 100 0 0
0 0 325576 885088 4400 2026848 0 0 0 16 1007 225 0 0 100 0 0
0 0 325576 885088 4408 2026840 0 0 0 20 1005 226 0 0 100 0 0
0 0 325576 885088 4408 2026964 0 0 0 16 1004 224 0 0 100 0 0
0 0 325576 885088 4416 2026964 0 0 0 20 1005 224 0 0 100 0 0
0 0 325576 885088 4416 2026964 0 0 0 16 1005 224 0 0 100 0 0
1 1 325548 879756 4436 2032160 0 0 145 1903 1119 596 8 2 86 3 0
0 2 324956 858552 4452 2051464 831 0 1417 7076 1549 1909 32 7 21 40 0
0 2 323556 847392 4468 2058708 1792 0 2239 2795 1508 1814 18 5 50 28 0
0 2 322004 843796 4480 2066752 2096 0 2505 2843 1493 1755 20 5 48 27 0
2 1 320412 831520 4488 2074644 1988 0 2573 3256 1677 2279 18 6 50 27 0
1 1 319196 821108 4548 2082020 1637 0 1981 2569 1366 1385 17 4 44 35 0
1 1 317908 809576 4552 2089944 1627 0 2179 3311 1623 2141 19 6 50 25 0
1 1 316744 799284 4568 2097064 1389 0 2093 3420 1771 2547 17 6 50 27 0
0 2 314920 786264 4584 2104988 2291 0 2559 2448 1358 1331 19 4 50 27 0
0 2 313352 765928 4592 2113552 1901 0 2309 2980 1513 1769 22 6 47 25 0
0 3 311784 750676 4608 2122316 1875 0 2641 3945 2320 3347 32 9 27 32 0
1 1 309684 737160 4612 2130804 2328 0 2785 3012 1717 2113 22 6 43 29 0
0 3 308652 729100 4632 2136884 1032 0 1464 2619 1470 1703 14 5 50 32 0
0 2 307300 716204 4672 2146860 1421 0 1721 3485 1369 1522 16 5 49 30 0
0 3 305740 703432 4684 2156368 1645 0 2017 3312 1441 2003 18 5 49 28 0
#强制取消游标的运行,系统一下子快起来了,cpu的wa变为0
0 0 305148 699340 4708 2159072 631 0 673 804 1079 462 4 1 86 9 0
0 0 305148 699340 4708 2159072 0 0 0 17 1004 224 0 0 100 0 0
0 0 305148 699340 4716 2159072 0 0 0 20 1004 225 0 0 100 0 0
0 0 305148 699340 4716 2159072 0 0 0 61 1013 223 0 0 100 0 0
0 0 305148 699340 4724 2159072 0 0 0 20 1005 226 0 0 100 0 0
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9240380/viewspace-666386/
,如需转载,请注明出处,否则将追究法律责任。