国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

DB2數據庫為單個會話鎖定技巧

2024-07-21 02:41:22
字體:
來源:轉載
供稿:網友
  DB2從版本8.2開始,客戶可以為每一個DB2會話指定鎖定策略。在以前的版本中,只能通過配置數據庫配置參數LOCKTIMEOUT配置一個應用程序假如不能獲得鎖,等待多長時間將回滾該事務。  單個會話現在可以指定鎖定等待方式策略,該策略在會話需要的鎖定不能立即獲取時使用。該策略指示會話是否將采取如下措施:  在不能獲取鎖定時返回 SQLCODE 和 SQLSTATE  無限等待鎖定  等待為鎖定指定的時間  等待鎖定時使用 locktimeout 數據庫配置參數的值  鎖定等待方式策略通過新的 SET CURRENT LOCK TIMEOUT 語句指定,此語句更改 CURRENT LOCK TIMEOUT 專用寄存器的值。CURRENT LOCK TIMEOUT 專用寄存器指定在返回指示不能獲取鎖定的錯誤之前等待鎖定的秒數。  雖然 locktimeout 參數的值適用于所有鎖定,但是此新功能只影響以下鎖定類型:行、表、索引鍵和多維群集(MDC)塊鎖定。  該語句的語法如下:  .-CURRENT-. .-=-.
  >>-SET--+---------+--LOCK TIMEOUT--+---+------------>
  >--+-WAIT-----------------------+------------><
  +-NOT WAIT-------------------+
  +-NULL-----------------------+
  | .-WAIT-. |
  +-+------+-- integer-constant -+
  '- host-variable --------------'
  關于該命令的具體說明,請參見:http://publib.boulder.ibm.com/infocenter/db2help/topic  /com.ibm.db2.udb.doc/admin/r0011874.htm?resultof=  %22%73%65%74%22%20%22%63%75%72%72%65%6e%74%22%2  0%22%6c%6f%63%6b%22%20%22%74%69%6d%65%6f%75%74%22%20  下面通過一個例子來講解如何使用這個功能(我們使用SAMPLE數據庫):  1、使用"db2 +c"打開兩個DB2會話。(+c 參數關閉AUTOCOMMIT)  2、在一個會話中執行下面的語句:  connect to sample  create table test(id int,name char(10))  commit  insert into test values(1,'test')  3、在另一個會話中執行下面的語句:  connect to sample  select * from test  由于默認LOCKTIMEOUT參數設置為-1,所以這個會話會一直等著,沒有結果返回。如下圖所示:  4、下面我們在第一歌窗口中重復一樣的操作,只是在第二個窗口中使用如下語句  set current lock timeout not wait  select * from test  我們看到select語句不會等待,而是直接返回錯誤。參見下圖:  您可以自己采取上面的方法測試一下其他的參數設置。  該語句可以在程序中和存儲過程中使用。另外這個功能對于CLI程序來講,還可以方便地通過設置db2cli.ini文件配置要害字使用,要害字為:  LOCKTIMEOUT = WAIT | NOT WAIT | WAIT seconds | seconds  通過設置這個參數,DB2 CLI會自動根據設置值發送一條“SET CURRENT LOCK TIMEOUT”語句到DB2服務器,該參數值也可以通過在程序中顯示使用  “SET CURRENT LOCK TIMEOUT”重置。  您可以根據您應用程序的需求,靈活運用這條語句設計合適的DB2會話鎖定策略。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 民和| 龙游县| 象山县| 芦溪县| 闽侯县| 甘泉县| 中西区| 麻城市| 太白县| 平乡县| 抚顺市| 广宗县| 金山区| 安义县| 武穴市| 阳泉市| 大埔区| 天门市| 乳山市| 泰和县| 札达县| 九龙县| 枣强县| 锡林郭勒盟| 普定县| 金山区| 吉水县| 荣昌县| 册亨县| 织金县| 甘泉县| 泸西县| 从江县| 宣恩县| 大洼县| 巴中市| 东城区| 彭阳县| 怀柔区| 昌吉市| 平南县|