2011-04-02 76 views
1

如果某個應用程序在任何給定時間並且在整個存在過程中同時擁有數千個用戶,那麼該怎麼辦?2個或更多用戶執行的操作會導致應用程序由於同時執行的請求而更新數據庫表納秒)。如果2個或更多人試圖同時更新同一個MySQL表,會發生什麼情況?

會發生什麼事情,MySQL會簡單地將其中一個放在另一個上面,並且這種更改將反映最後一個,或者由於某種內部衝突錯誤,世界是否會結束?

回答

1

它完全取決於查詢的結構以及您使用的併發控制。

我建議您閱讀this,以便對問題和可能的解決方案有一個很好的概述。

0

這取決於存儲引擎。

即使MyISAM總是鎖定整個表,MyISAM將不允許對同一個表進行併發更新,即使不同的行受到影響。

InnoDB將允許同時更新兩個不同的行,因爲它會進行行級鎖定。

相關問題