mysql游標(biāo)的定義與使用 剖析MySQL InnoDB引擎的行鎖表鎖,怎樣利用鎖解決事務(wù)并發(fā)問(wèn)題?
剖析MySQL InnoDB引擎的行鎖表鎖,怎樣利用鎖解決事務(wù)并發(fā)問(wèn)題?當(dāng)多個(gè)網(wǎng)絡(luò)用戶(hù)同時(shí)讀取同一個(gè)數(shù)據(jù)庫(kù)表時(shí),不會(huì)發(fā)生沖突。只有當(dāng)一個(gè)部分讀取另一個(gè)部分或每個(gè)人都必須編寫(xiě)數(shù)據(jù)庫(kù)時(shí),才會(huì)發(fā)生沖突。數(shù)據(jù)
剖析MySQL InnoDB引擎的行鎖表鎖,怎樣利用鎖解決事務(wù)并發(fā)問(wèn)題?
當(dāng)多個(gè)網(wǎng)絡(luò)用戶(hù)同時(shí)讀取同一個(gè)數(shù)據(jù)庫(kù)表時(shí),不會(huì)發(fā)生沖突。只有當(dāng)一個(gè)部分讀取另一個(gè)部分或每個(gè)人都必須編寫(xiě)數(shù)據(jù)庫(kù)時(shí),才會(huì)發(fā)生沖突。數(shù)據(jù)庫(kù)執(zhí)行并發(fā)操作,即微操作為串行操作,宏操作為并行操作。MySQL是一個(gè)支持多事務(wù)處理的網(wǎng)絡(luò)數(shù)據(jù)庫(kù)。為了保證數(shù)據(jù)庫(kù)的一致性,在訪問(wèn)數(shù)據(jù)庫(kù)時(shí)必須合理使用互斥機(jī)制。
很容易理解這種機(jī)制。常用鎖包括共享鎖,即讀鎖、排他鎖,即寫(xiě)鎖和更新鎖,即更新操作期間添加的鎖,也可以分類(lèi)為寫(xiě)鎖。如果已添加讀鎖,請(qǐng)不要添加寫(xiě)鎖以防止數(shù)據(jù)不一致。如果存在寫(xiě)鎖,請(qǐng)不要添加寫(xiě)鎖以防止數(shù)據(jù)庫(kù)死鎖。