使用MySQL事務的乙個問題

2021-08-29 03:35:46 字數 364 閱讀 3759

mysql事務的預設隔離級別是repeatable read, 也就是說在事務中每次讀到的資料都會是一樣的,不管其他人是否做過寫操作。乙個事務開始是剛建立連線,或上次提交或滾回。那麼如果在這種情況下使用mod_perl,並保持db連線,那麼就可能出現資料不一致。比如乙個程序中有一段時間都沒有commit和rollback操作,那麼它讀到的資料就會和事務開始時一樣,不管其他程序是否有過更新的操作。那麼使用者使用這個程序得到的資料就和其他程序不一樣。

因此我覺得用read committed的隔離級別會比較好。

set session transaction isolation level read committed

乙個簡單的跨庫事務問題

來自 最近在做乙個專案,其中乙個方案涉及到跨庫事務一致性問題,是乙個簡單的場景。這個專案是對老的業務進行效能提公升,業務邏輯基本上保持不變。主要是在於新專案採用了分庫分表的設計,從而提公升了效能。考慮到專案發布之後可能存在風險,採取了新老系統的並行方案。這個系統的業務比較簡單 接收來自外部的資料,然...

有趣的乙個mysql問題

同事問道乙個有趣的mysql問題,在乙個有資料的表中,如何修改自增id值從一開始?我的第一反應就是不能無法修改,不能實現。在有表的資料中怎麼能實現自增id值從一開始,邏輯上就行不通。做個試驗 建自增表 mysql create table tb1 id int 11 not null auto in...

記錄乙個MySQL的問題

昨天做asp.net mvc程式,用mysql.data.entity.ef6做資料連線。程式都是正常的,但就是提交資料的時候總是提示 specified key was too long max key length is 767 bytes異常。搞了好久也不知道啥原因,網上查的方法也通通不好使。...