2010-12-14 41 views
1

我正在編寫一個程序,該程序在Linux服務器上運行(24/7)並將條目添加到MySQL數據庫。 數據庫的內容顯示在帶有PHP的Web界面上,用戶應該能夠使用Web界面刪除條目。 是否可以同時從多個進程訪問數據庫?同時從PHP和另一個進程訪問MySQL

+0

是的,這是可能的 – 2010-12-14 16:23:00

+0

是的,併發是數據庫存在的主要原因之一:)閱讀關於ACID的一點。 – Konerak 2010-12-14 16:25:01

回答

0

除非你像使用單例一樣訪問數據庫,否則php將使用的併發mysql連接的最大數量在你的php.ini中是有限的。我相信它默認爲100.

1

是的,數據庫是專爲此目的而設計的。您需要在您的設計中記住幾件事:

  1. 數據庫寫入的併發和競爭條件。
  2. 表現。
  3. 爲單獨的應用程序分開數據庫權限。
0

是的,多個用戶可以同時訪問數據庫。 但是,您應該注意數據是否一致。 如果您創建/編輯包含許多小型sql語句的條目,同時有人使用Web界面,則可能會導致一些錯誤。 如果你有一個簡單的數據庫,這應該不成問題,否則你應該考慮使用事務。

http://dev.mysql.com/doc/refman/5.0/en/ansi-diff-transactions.html

0

是,並嘗試刪除其中,如果你使用的是InnoDB引擎全天候運行,該自動程序的存在記錄不會有任何問題。這是因爲事務一次發生一次,一次又一次開始並且數據庫每次都一致。

這個答案How to implement the ACID model for a database有很多相關的問題。

閱讀關於數據庫的ACID Properties。帶有InnoDb引擎的Mysql數據庫將爲您處理所有這些事情,您不必擔心這一點。