關於資料庫事務的管理?

時間 2021-06-14 08:03:05

1樓:蔣國綱

資料庫的「事務」實際上是由RDBMS(關係型資料庫管理系統,如Oracle、MySQL、PostgreSQL和SQL Server等)提供的功能,跟SSH沒什麼關係,SSH這種程式框架只是使用了JDBC介面去使用事務而已,實際上都是RDBMS的實現。

事務的原理比較複雜,一言兩語說不清,但大致都是用「事務日誌」去實現的,你對資料庫的增刪改,實際上都會產生事務日誌(即便你沒顯式地去開啟乙個事務),當你做完一系列的修改操作,提交的時候(也許也是隱式的),RDBMS才根據事務日誌把你的修改正式寫入資料庫,而在提交之前,你本次事務中涉及的改動,別的會話是看不見的。為了防止兩個會話同時修改一行資料導致衝突這種問題,資料庫通常會用到「鎖」,你修改了一行資料,在你提交之前,別的會話就不可寫這行資料,但鎖並非解決衝突的唯一途徑,也有無鎖的,有興趣的話看看這個:SQL優化(六) MVCC PostgreSQL實現事務和多版本併發控制的精華

資料庫管理系統dbms和資料庫dbs是什麼關係?

李宇明 一般的劃分 DB,即database,一般指乙個具體的資料集 庫 可以理解成database instance 如果是關係模型的話,就是一堆資料表 索引和檢視啥的。但是一般在寫作時或者交流時,database也可指下面兩個詞的含義,所以它的具體含義還得看上下文 DBMS,即database ...

關於oracle資料庫索引的問題?

墨天輪 首先這個問題沒有確定的答案,說走和不走的都是錯誤答案。對於Oracle來說,SQL執行之前會計算每種執行計畫的cost值,最終選定低的執行計畫去執行,而這個計算高度依賴物件的統計資訊,可以說統計資訊決定了SQL走不走索引,可能更專業的問題如下 為什麼有索引不走?總結不走索引的常見情況 墨天輪...

如何評價Jetbrain發布的資料庫管理工具 DataGrip

輝仔 好用是好用,比PLSQL自動補全搜尋表和字段的時候快的一匹但是我今天更新資料,一更新就卡住了,然後怎麼改也改不了,我再去PLSQL改提示記錄被鎖定。我懷疑DATAGRIP偷偷用了 for update然後我TM苦著臉去找老闆挨罵了。 Bill Chen 這個是在官網看到的解釋。也就是說 Dat...