鍍金池/ 問(wèn)答/Java  數(shù)據(jù)庫(kù)  網(wǎng)絡(luò)安全  HTML/ 如果一個(gè)Mysql數(shù)據(jù)庫(kù)表使用myisam引擎,當(dāng)有需要事務(wù)的時(shí)候怎么辦?

如果一個(gè)Mysql數(shù)據(jù)庫(kù)表使用myisam引擎,當(dāng)有需要事務(wù)的時(shí)候怎么辦?

有一個(gè)表,需要經(jīng)常大量數(shù)據(jù)插入,刪除
設(shè)置為myisam引擎
但是有時(shí)候用到這個(gè)表的時(shí)候,需要支持事務(wù)
這個(gè)時(shí)候怎么辦?

回答
編輯回答
檸檬藍(lán)

MyISAM這個(gè)引擎是專(zhuān)門(mén)為大量讀的場(chǎng)景而做的優(yōu)化, 很少寫(xiě),甚至沒(méi)有寫(xiě)最好了。如用做CMS存儲(chǔ)引擎。

嚴(yán)格來(lái)說(shuō)MyISAM引擎也并不是沒(méi)有事務(wù)管理。只是他的事務(wù)管理僅限于單表行記錄。

如果需要事物管理,用于類(lèi)似比如交易場(chǎng)景,用這個(gè)引擎的話(huà),就必須手工處理事物相關(guān)的操作,比如完整性一致性。

在這個(gè)場(chǎng)景下用InnoDB是更好的選擇。

2017年8月9日 09:59