日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
mysql跨庫事務XA操作示例

本文實例講述了MySQL跨庫事務XA操作。分享給大家供大家參考,具體如下:

我們提供的服務有:成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、沛縣ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的沛縣網(wǎng)站制作公司

前一段時間在工作中遇到了跨庫事務問題,后來在網(wǎng)上查詢了一下,現(xiàn)在做一下整理和總結。

1、首先要確保mysql開啟XA事務支持

SHOW VARIABLES LIKE '%XA%'

mysql跨庫事務XA操作示例

如果innodb_support_xa的值是ON就說明mysql已經(jīng)開啟對XA事務的支持了。

如果不是就執(zhí)行:

SET innodb_support_xa = ON

<?PHP
$dbtest1 = new mysqli("172.20.101.17","public","public","dbtest1")or die("dbtest1 連接失敗");
$dbtest2   = new mysqli("172.20.101.18","public","public","dbtest2")or die("dbtest2 連接失敗");
//為XA事務指定一個id,xid 必須是一個唯一值。
$xid = uniqid("");
//兩個庫指定同一個事務id,表明這兩個庫的操作處于同一事務中
$dbtest1->query("XA START '$xid'");//準備事務1
$dbtest2->query("XA START '$xid'");//準備事務2
try {
  //$dbtest1
  $return = $dbtest1->query("UPDATE member SET name='唐大麥' WHERE id=1") ;
  if($return == false) {
    throw new Exception("庫dbtest1@172.20.101.17執(zhí)行update member操作失?。?);
  }
  //$dbtest2
  $return = $dbtest2->query("UPDATE memberpoints SET point=point+10 WHERE memberid=1") ;
  if($return == false) {
    throw new Exception("庫dbtest1@172.20.101.18執(zhí)行update memberpoints操作失??!");
  }
  //階段1:$dbtest1提交準備就緒
  $dbtest1->query("XA END '$xid'");
  $dbtest1->query("XA PREPARE '$xid'");
  //階段1:$dbtest2提交準備就緒
  $dbtest2->query("XA END '$xid'");
  $dbtest2->query("XA PREPARE '$xid'");
  //階段2:提交兩個庫
  $dbtest1->query("XA COMMIT '$xid'");
  $dbtest2->query("XA COMMIT '$xid'");
}
catch (Exception $e) {
  //階段2:回滾
  $dbtest1->query("XA ROLLBACK '$xid'");
  $dbtest2->query("XA ROLLBACK '$xid'");
  die($e->getMessage());
}
$dbtest1->close();
$dbtest2->close();
?>

XA的性能很低。一個數(shù)據(jù)庫的事務和多個數(shù)據(jù)庫間的XA事務性能對比可發(fā)現(xiàn),性能差10倍左右

更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL事務操作技巧匯總》、《MySQL查詢技巧大全》、《MySQL存儲過程技巧大全》、《MySQL數(shù)據(jù)庫鎖相關技巧匯總》及《MySQL常用函數(shù)大匯總》

希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。


分享名稱:mysql跨庫事務XA操作示例
標題URL:http://www.dlmjj.cn/article/ghgsog.html