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