六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

以編程方式使用批語句節省 數據庫IO來提高性能

[摘要]大家都知道在程序中盡量少和數據庫交互是可以 提高程序性能的,以下舉一個比較常見的例子如:需要根據 某條件判斷條記錄是否存在 如果不存在就 插入的這種操作。一般都會用 2 次數據庫io , 1次取 Count 如果=0 就 INSERT INTO 其實在 Oracle, 或 SQL Service等...

    大家都知道在程序中盡量少和數據庫交互是可以 提高程序性能的,以下舉一個比較常見的例子

如:需要根據 某條件判斷條記錄是否存在 如果不存在就 插入的這種操作。

一般都會用 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 THEN

         INSERT INTO ST_BBSMRKTRSLTCHK(BBSITEMID, USERID, READFLG, LASTMODIFIED)

              VALUES (var_bbsitemid, var_userid, 0, SYSDATE);

     END IF;

 

END;" ;

              //auto --commit;

              //必須把\r (換行符)去掉 否則 Oracle 不認而且會報錯。

              this.cmd.CommandText = ExecSQl.Replace("\r",string.Empty);

              cmd.Parameters.Clear();

              OracleParameter Par;

              //傳參數

              Par = cmd.Parameters.Add(":IpBbsitemid",OracleType.VarChar);

              Par.Value="0012";

                  

              Par = cmd.Parameters.Add(":IpUserid",OracleType.VarChar);

              Par.Value="DEF";

 

              try

              {

                   //如果執行批每次返回都是1 如果想得到真正的更新條數就要用Out的 OracleParameter 了


                   int returnVar = cmd.ExecuteNonQuery();                 
                

                   MessageBox.Show("執行成功");


              }

              catch(Exception ex)

              {

                   MessageBox.Show(ex.ToString());

              }
                  
             }




主站蜘蛛池模板: 自偷自偷自亚洲首页精品 | 新天堂在线 | 日a在线 | 四虎永久精品免费观看 | 伊人成影院 | 天天做天天干 | 青草国产在线视频 | 日韩精品久久久免费观看夜色 | 色综合天天综合高清网国产 | 亚洲第一黄网站 | 永久免费看毛片 | 青草国内精品视频在线观看 | 亚洲a影院| 天天干天天操天天爱 | 亚洲高清日韩精品第一区 | 一级做a爰片性色毛片思念网 | 亚洲伊人久久大香线焦 | 日本高清在线观看视频www | 青青青视频免费 | 亚洲综合色丁香婷婷六月图片 | 色爱综合网欧美 | 日日骑夜夜操 | 怡春院日本一区二区久久 | 天天干天天操天天玩 | 亚洲 欧美 在线观看 | 日本aⅴ在线不卡免费观看 日本aⅴ在线 | 天天久久综合网站 | 欧洲一级视频 | 亚洲欧洲日本在线观看 | 日韩天堂在线观看 | 啪啪网视频 | 亚洲国产精品高清在线一区 | 午夜视频免费 成人 | 在线青青 | 婷婷五色 | 午夜影院在线播放 | 日本国产免费一区不卡在线 | 婷婷深爱网 | 日韩不卡毛片 | 天堂资源在线最新版 | 日韩一级在线播放免费观看 |