時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)
mysql事務表是MySQL數(shù)據(jù)庫的重要概念,下面就為你詳細介紹MySQL事務表和非事務表的區(qū)別,希望可以讓您對MySQL事務表有更多的了解。
MySQL事務表支持將批處理當做一個完整的任務統(tǒng)一提交或回滾,即對包含在事務中的多條語句要么全執(zhí)行,要么全部不執(zhí)行。非事務表則不支持此種操作,批處理中的語句如果遇到錯誤,在錯誤前的語句執(zhí)行成功,之后的則不執(zhí)行。
比如常用操作中,你將A表中的100條數(shù)據(jù)導入B表,導入后刪除A表中的那部分數(shù)據(jù),但如果中途發(fā)生意外事務表
可保證操作正常,但非事務表可能會出現(xiàn)數(shù)據(jù)異常.
MySQL事務表有表鎖與行鎖
非事務表則只有表鎖
可使用下述語句之一檢查表的標類型:
SHOW TABLE STATUS LIKE 'tbl_name';
SHOW CREATE TABLE tbl_name;
事務安全表(TST) 比起非事務安全表 (NTST)有幾大優(yōu)勢:
·更安全。即使MySQL崩潰或遇到硬件問題,要么自動恢復,要么從備份加事務日志恢復,你可以取回數(shù)據(jù)。
·你可以合并許多語句,并用COMMIT語句同時接受它們?nèi)浚ㄈ绻鸻utocommit被禁止掉)。
·你可以執(zhí)行ROLLBACK來忽略你的改變(如果autocommit被禁止掉)。
·如果更新失敗,你的所有改變都變回原來。(用非事務安全表,所有發(fā)生的改變都是永久的)。
·事務安全存儲引擎可以給那些當前用讀得到許多更新的表提供更好的部署。
非事務安全表自身有幾個優(yōu)點,因為沒有事務開支,所有優(yōu)點都能出現(xiàn):
·更快
·需要更少的磁盤空間
·執(zhí)行更新需要更少的內(nèi)存
使用下述語句,可檢查mysqld服務器支持的存儲引擎:
SHOW ENGINES;
也可以使用下述語句,檢查與你感興趣的存儲引擎有關的變量值:
SHOW VARIABLES LIKE 'have_%';
例如,要想確定InnoDB存儲引擎是否可用,可檢查have_innodb變量的值。
關鍵詞標簽:MySQL
相關閱讀
熱門文章 10款MySQL數(shù)據(jù)庫客戶端圖形界面管理工具推薦MySQL常用維護管理工具Linux VPS/服務器上輕松導入、導出MySQL數(shù)據(jù)MySQL復制的概述、安裝、故障、技巧、工具
人氣排行 MySQL數(shù)據(jù)庫啟動失敗1067進程意外終止的解決辦法總結(jié)Mysql 1045錯誤解決辦法10款MySQL數(shù)據(jù)庫客戶端圖形界面管理工具推薦MySQL服務器進程CPU占用100%解決辦法MySQL導出導入命令的用例MySQL無法啟動、無法停止各種解決方法總結(jié)三種常用的MySQL建表語句Mysql清空表的實現(xiàn)方法