您现在的位置: 无忧电子商务网 >> 信息学院 >> 程序开发 >> asp.net >> 正文

以编程方式使用批语句节省 数据库IO来提高性能

作者:佚名    信息学院来源:整理    点击数:    更新时间:2008-1-30 我要参与讨论

 

    大家都知道在程序中尽量少和数据库交互是可以 提高程序性能的,以下举一个比较常见的例子

如:需要根据 某条件判断条记录是否存在 如果不存在就 插入的这种操作。

一般都会用 2 次数据库io , 1次取 Count 如果=0 就 INSERT INTO 其实在 Oracle, 或 SQL Service

等大型数据库中可以使用批 SQL 语句节省数据库 IO(和数据库的交互).

以下例子是一个简单的的演示执行一次数据库 io(演示使用C# + Oracle数据库演示,其他语言或 SQLService 也差不多),

适合使用在写存储过程没太大意义的时候。

 

测试代码如下:(注意,测试用的SQL语句中注释过多会影响性能,实际使用不用这么多注释)

语句比较简单,所以没有把表结构贴出来,数据库连接部分省略。

              //使用批 SQL 执行(但不能换行和回车 \r\n 不行 \n 可以)

              //C# 可以用 @ 可以直接换行,VB 写这样的比较郁闷所以用C# 作演示

              const string ExecSQl=

@"Declare

     var_bbsitemid VARCHAR2(12) :=:IpBbsitemid ;/*传入参数*/

     var_userid VARCHAR2(20) := :IpUserid ;/*传入参数*/

     var_counts NUMBER(10);

BEGIN

     /*根据条件取记录条数*/

     SELECT COUNT(t.bbsitemid) INTO var_counts

     FROM ST_BBSMRKTRSLTCHK t

     WHERE t.userid = var_userid AND t.bbsitemid = var_bbsitemid;

 

     /* Oracle 打印不知道怎么看 nnd */

     Dbms_Output.put_line('Count:'|| var_counts);

 

     /*如果是0条就插入*/

     IF var_counts = 0

[1] [2] [3] [4] 下一页

在google里搜索更多以编程方式使用批语句节省 数据库IO来提高性能

Google
Web www.51ec.org
【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
我来说两句 对此文章发表了评论
  昵 称: *必填    ·注册用户·
  评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
评 论
内 容

 
评论列表 (最新 评论仅限网友观点!)

供求信息




| 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明