亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

mysql跨庫事務(wù)XA操作示例

 更新時(shí)間:2019年04月29日 10:49:26   作者:雨落知音  
這篇文章主要介紹了mysql跨庫事務(wù)XA操作,結(jié)合實(shí)例形式分析了php+mysql實(shí)現(xiàn)跨庫事務(wù)XA操作具體操作步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了mysql跨庫事務(wù)XA操作。分享給大家供大家參考,具體如下:

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

1、首先要確保mysql開啟XA事務(wù)支持

SHOW VARIABLES LIKE '%XA%'

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

如果不是就執(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事務(wù)指定一個(gè)id,xid 必須是一個(gè)唯一值。
$xid = uniqid("");
//兩個(gè)庫指定同一個(gè)事務(wù)id,表明這兩個(gè)庫的操作處于同一事務(wù)中
$dbtest1->query("XA START '$xid'");//準(zhǔn)備事務(wù)1
$dbtest2->query("XA START '$xid'");//準(zhǔn)備事務(wù)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提交準(zhǔn)備就緒
  $dbtest1->query("XA END '$xid'");
  $dbtest1->query("XA PREPARE '$xid'");
  //階段1:$dbtest2提交準(zhǔn)備就緒
  $dbtest2->query("XA END '$xid'");
  $dbtest2->query("XA PREPARE '$xid'");
  //階段2:提交兩個(gè)庫
  $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的性能很低。一個(gè)數(shù)據(jù)庫的事務(wù)和多個(gè)數(shù)據(jù)庫間的XA事務(wù)性能對(duì)比可發(fā)現(xiàn),性能差10倍左右

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

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

相關(guān)文章

  • MySQL字符串按照數(shù)值排序方式

    MySQL字符串按照數(shù)值排序方式

    這篇文章主要介紹了MySQL字符串按照數(shù)值排序方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • mysql實(shí)現(xiàn)從導(dǎo)出數(shù)據(jù)的sql文件中只導(dǎo)入指定的一個(gè)表

    mysql實(shí)現(xiàn)從導(dǎo)出數(shù)據(jù)的sql文件中只導(dǎo)入指定的一個(gè)表

    這篇文章主要介紹了mysql實(shí)現(xiàn)從導(dǎo)出數(shù)據(jù)的sql文件中只導(dǎo)入指定的一個(gè)表,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • MySQL查看和修改最大連接數(shù)的方法步驟

    MySQL查看和修改最大連接數(shù)的方法步驟

    使用MySQL 數(shù)據(jù)庫的站點(diǎn),當(dāng)訪問連接數(shù)過多時(shí),就會(huì)出現(xiàn) "Too many connections" 的錯(cuò)誤,所以我們需要設(shè)置MySQL查看和修改最大連接數(shù),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • mysql 判斷是否為子集的方法步驟

    mysql 判斷是否為子集的方法步驟

    這篇文章主要介紹了mysql 判斷是否為子集的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • mysql中替代null的IFNULL()與COALESCE()函數(shù)詳解

    mysql中替代null的IFNULL()與COALESCE()函數(shù)詳解

    這篇文章主要給大家介紹了關(guān)于mysql中替代null的IFNULL()與COALESCE()函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看看吧。
    2017-06-06
  • MySQL之FIND_IN_SET()的用法及說明

    MySQL之FIND_IN_SET()的用法及說明

    這篇文章主要介紹了MySQL之FIND_IN_SET()的用法及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • MySQL總是差八個(gè)小時(shí)該如何解決

    MySQL總是差八個(gè)小時(shí)該如何解決

    最近在用mybatis時(shí)發(fā)現(xiàn),將LocalDateTime插入到數(shù)據(jù)庫時(shí)時(shí)間少了8小時(shí),下面這篇文章主要給大家介紹了關(guān)于MySQL總是差八個(gè)小時(shí)該如何解決的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • innodb 庫的備份注意點(diǎn)(由phpmyadmin引起的解決方案)

    innodb 庫的備份注意點(diǎn)(由phpmyadmin引起的解決方案)

    新版本xampps 1.8.5 X64 集成了phpmyadmin最新版本(4.1.0), 可每次初始化安裝程序后, 進(jìn)入phpmyadmin管理工具, 就會(huì)發(fā)現(xiàn)phpmyadmin高級(jí)功能失效, 一直在提示數(shù)據(jù)表不存在, 經(jīng)過再三的分析, 終于找到原因
    2013-12-12
  • 利用MySQL加密函數(shù)保護(hù)Web網(wǎng)站敏感數(shù)據(jù)的方法分享

    利用MySQL加密函數(shù)保護(hù)Web網(wǎng)站敏感數(shù)據(jù)的方法分享

    如果您正在運(yùn)行使用MySQL的Web應(yīng)用程序,那么它把密碼或者其他敏感信息保存在應(yīng)用程序里的機(jī)會(huì)就很大
    2012-03-03
  • mysql_fetch_row()與mysql_fetch_array()的使用介紹

    mysql_fetch_row()與mysql_fetch_array()的使用介紹

    本篇文章是對(duì)mysql_fetch_row()與mysql_fetch_array()的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06

最新評(píng)論