数据库学习手记之二:存储过程
在完善计费系统的过程中,遇到了数据库的性能瓶颈。大家都说,存储过程是
商用数据库的高级功能,是Mysql之类小型数据库所不具备的,
能够提升数据库的操作性能。
我于是就学着写了一个。
create function accnet3(varchar(20,float,date)
returns integer
as
'
declare net float;
declcare net2 float;
begin
select netleft from locked where username=$ into net;
net2 := net-$2;
insert into netfees(username,netleft,nettime,addtime)
values ($1,net2,$2,$3);
update locked set netleft=net2 where username=$1;
return 1;
end;
'
language 'plpgsql';
useage: select accnet3('ftyu',50000,'2003-12-16');
投入了实际使用,遗憾的是,我并未发现性能的提升!
当然,客户端使用时,倒是简单明了。
商用数据库的高级功能,是Mysql之类小型数据库所不具备的,
能够提升数据库的操作性能。
我于是就学着写了一个。
create function accnet3(varchar(20,float,date)
returns integer
as
'
declare net float;
declcare net2 float;
begin
select netleft from locked where username=$ into net;
net2 := net-$2;
insert into netfees(username,netleft,nettime,addtime)
values ($1,net2,$2,$3);
update locked set netleft=net2 where username=$1;
return 1;
end;
'
language 'plpgsql';
useage: select accnet3('ftyu',50000,'2003-12-16');
投入了实际使用,遗憾的是,我并未发现性能的提升!
当然,客户端使用时,倒是简单明了。
hofman
2005-11-19 22:57:49
评论:0
阅读:379
引用:0
