cost 374 ms
mysqldump --single-transaction 是否保證數據完整性?

[英]Does mysqldump -–single-transaction guarantee data integrity?

MySQL 文檔說 --單筆交易該選項將事務隔離模式設置為REPEATABLE READ ,並在轉儲數據前向服務器發送START TRANSACTION SQL語句。 它僅對事務表(如 InnoDB)有用,因為它會轉儲發出 START TRANSACTION 時數據庫的一致 state 而不會阻 ...

Oracle:哪個Lock是通過Serializable隔離級別獲取的

[英]Oracle: Which is Lock is acquired by Serializable isolation level

我想確定的是隔離級別和鎖之間是否有任何直接關系。 因此,假設我啟動了一個具有可序列化隔離級別的事務,然后默認情況下 Oracle 會在該事務中列出的所有表上獲取某種類型的“表”鎖,如果是這樣,那它是什么? 我找不到這個問題的任何直接答案,但我自己通過閱讀許多在線文檔的理解是,隔離級別和鎖之間沒有直接 ...

隔離 - 可重復讀中的幻讀

[英]Isolation -Phantom read in REPEATABLE READ

這種特殊情況是否屬於不可重復讀取類別或幻讀? 我不認為這個問題是重復的,因為我在任何地方都沒有看到這種特殊情況。 我正在使用 repeatable read ,這就是為什么我認為 DELETE 將被視為幻讀,因為 MySQL 中的可重復讀取允許幻讀,因此,我認為在控制台 2 的倒數第二個 SELEC ...

不可重復讀取和幻讀發生在“SERIALIZABLE”隔離級別(MySQL)

[英]Non-repeatable read and phantom read occur with 'SERIALIZABLE' isolation level (MySQL)

我嘗試了在MySQL上是否使用SERIALIZABLE發生不可重復讀取和幻讀,但與我的預期相反,不可重復讀取和幻讀實際上都發生在SERIALIZABLE中。 對於我的實驗,我在全局和會話中設置SERIALIZABLE ,如下所示:mysql> SELECT @@GLOBAL.transact ...

僅 append 表上的讀寫問題

[英]Read write problem on an append only table

賞金將在 6 天后到期。 此問題的答案有資格獲得+50聲望賞金。 小果哥想引起更多人對這個問題的關注。 假設我有這個append-only SQL 表,表示從/到賬戶的存款/取款。 下面的 3 行將使賬戶 A 的余額為 -$10 ID 帳戶信用 1 一個 100 美元 2 一個 -$50 3 ...

悲觀鎖定如何防止丟失更新?

[英]How can pessimistic locking prevent a lost update?

我正在閱讀 Ask TOM,他將丟失的更新定義為 在以下情況下會發生丟失更新: 第 1 節:讀出湯姆的員工記錄 會話 2:讀出湯姆的員工記錄 會話 1:更新 Tom 的員工記錄 會話 2:更新 Tom 的員工記錄 會話 2 將覆蓋會話 1 的更改而不會看到它們——導致更新丟失。 ...

Saga 模式中的隔離

[英]Isolation in Saga patterns

我正在嘗試了解微服務。 在經歷 Saga 模式時,我遇到了這句話雖然有點接近 ACID 保證,但 saga 模式仍然缺少隔離。 這意味着可以從一個不完整的事務中讀寫數據,從而引入各種隔離異常我仍然不清楚為什么傳奇模式缺乏隔離。 有人可以舉個例子解釋一下嗎? ...

可序列化的快照隔離和選擇更新

[英]serializable snapshot isolation and select for update

我剛剛在 PostgresQL 中閱讀了可序列化的快照隔離,並從中了解到使用這個隔離級別 DB 本身可以防止所謂的writing skew 。 問題:當我用FOR UPDATE sql 后綴標記讀取時,它對 DB 是否仍然有意義,而讀取后它會被更新? ...

如何檢測可序列化的隔離違規?

[英]How are serializable isolation violations detected?

有誰知道 SQL 數據庫如何檢測可序列化隔離違規(SIV)? 似乎只是蠻力強制事務執行的每個排列以找到並發執行結果的匹配項,以驗證可序列化性不會擴展。 根據第三方研究人員的這篇論文: https ://amazonredshiftresearchproject.org/white_papers/d ...

在 Postgres 中以原子方式更新標志?

[英]Atomically update flag in Postgres?

我正在我的高並發應用程序中實現一個輕量級作業系統。 為簡單起見,我將使用 Postgres 來管理系統中所有作業的狀態。 我有一個表,其中進程可以通過布爾標志is_running將特定作業標記為“正在運行”。 如果多個進程嘗試運行同一個作業,則只有一個進程應該“獲勝”。 我想要一個原子聲明,應用 ...

為什么悲觀鎖定在 psql 中對我不起作用? 代碼不像我期望的那樣並發

[英]Why is pessimistic locking not working for me in psql? The code is not concurrent as I would expect it to be

我正在嘗試獲取和更新列,並且需要此過程是並發的。 因此,我通過SELECT FOR UPDATE進行行級鎖定,然后進行計算,然后進行更新,所有這些都在具有隔離級別repeatable read的事務中。但是,這仍然不是預期的並發。 此列只是一個隨機列,而不是主鍵或外鍵。 之后我將其更改為樂觀鎖定並 ...

如何使用 pgAdmin 測試 PosgreSQL 死鎖

[英]How to test PosgreSQL deadlocks with pgAdmin

我想使用 pgAdmin 4 測試 PostgreSQL 13 上的死鎖,使用不同的鎖類型和隔離級別。 到目前為止,我已經嘗試打開兩個 pgAdmin 選項卡並運行如下不同的事務塊: 但令我驚訝的是,無論鎖類型和隔離級別如何,行都可以完美地更新。 閱讀文檔我假設默認表鎖是ROW EXCLUSIVE並 ...

ASP.NET Core 中間件處理 SQL 序列化失敗重試?

[英]ASP.NET Core middleware handling SQL serialization failure retries?

我目前正在嘗試編寫一個 ASP.NET Core API 中間件,該中間件在執行底層 MVC 操作之前打開一個 SQL 事務。 該事務使用 Serializable 隔離級別,並由底層 MVC 操作中的所有 SQL 請求使用。 然后,當 MVC 操作退出時: 如果成功,中間件應該提交事務; ...

使用 READ_COMMITED 同時更新字段

[英]Concurrently updating a field with READ_COMMITED

假設我們已經在表中有以下行: 使用READ_COMMITED同時運行以下查詢: 如果他們都讀取初始(提交的)amount=0 並且一個事務覆蓋另一個事務的結果,他們是否會遇到結果amount = 100或amount = -50的競爭條件? 如果是,是否可以通過以下方式修復: 切換到 REPEATA ...

Spring 帶隔離的事務。SERIALIZABLE 不鎖定數據庫行以進行更新

[英]Spring Transactional with Isolation.SERIALIZABLE does not lock database row for updates

我有一個帶有 H2 數據庫的 Spring Boot 應用程序,我已經實現了一個帶有注釋的服務,以使用隔離級別為 SERIALIZABLE 的事務。 計划是將數據集鎖定在數據庫中,以便並發進程無法在我的服務仍保留要更新的數據時更新數據庫。 我現在希望受影響的記錄被鎖定在數據庫中(例如通過 Hiber ...

使用高事務隔離級別防止丟失更新:這是一個常見的誤解嗎?

[英]Prevent lost updates with high transaction isolation levels: Is this a common misconception?

我注意到我的應用程序經常將值寫入數據庫,這取決於以前的讀取操作。 一個常見的例子是用戶可以存錢的銀行賬戶: 如果此方法同時被兩個線程/客戶端/ATM 調用,我想避免競爭條件,這樣帳戶所有者會賠錢: 我經常讀到Repeatable Read或Serializable可以解決這個問題。 即使是關於丟失 ...

MySQL。 應該使用什么隔離級別?

[英]MySQL. What isolation level should be used?

有很多情況我不知道在MySQL中應該使用什么樣的隔離來避免使用損壞的數據。 例如,假設有一個預訂劇院的應用程序。 用戶選擇一個座位,並在交易中檢查所選座位是否空閑,如果是,則在第二步中保存預訂。 可能會發生這樣的情況,即在驗證座位是空閑的時,在保存預訂之前,另一個用戶先預訂了它。 對於這種情況並使 ...

更新前的原子聚合檢查

[英]Atomic aggregate check before update

我有一個包含許多記錄的表、一個枚舉列和一個高度多線程的環境。 我們的系統精確地允許 6000 個validated狀態。 這個值是動態的,以后會增加,但不會 go 下降。 在允許更新之前,我們必須檢查已驗證記錄的數量: 如果結果低於< 6000 (開始),我們將狀態更改為已validated ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM