• 締切済み

データの同時書込みについて

MYSQLとPHPをつかって各支店からデータを入力してもらい、集計したいと考えています。 仮に各支店でまったく同時にデータを書き込むことがあったとするならデータはきちんと書き込まれるでしょうか? また、同時に複数の人間が書込みの操作をした場合、どのくらいの件数まで書込みできるでしょうか? 設定はどのような設定にするのが安全で確実でしょうか? テーブルのフィールドタイプはInnoDBとしています。 PHPのバージョンは4.3.8 MYSQLは4.0.26-ntです。 わかりにくい説明で申し訳ないです。 よろしくお願いします。

みんなの回答

回答No.2

#1回答者です。 他の方の質問に答えたものがありますので、URLを参照ください。 参考URLの#2回答では、MySQLのマニュアル参照先へのリンクも貼っています。 排他制御に関しては、ネット検索すれば、いくらでも記事が出てくると思います。

参考URL:
http://oshiete1.goo.ne.jp/qa3023414.html
13B-RE
質問者

お礼

こんにちは回答ありがとうございます。 排他制御というんですね。(~_~;) いろいろ調べてみます。

回答No.1

RDBMSには、排他制御という機能があります。排他制御は、複数ユーザからの同時更新によるデータ破壊を防止します。また、検索同士でも、複数ユーザで共用して見ることができる以外に、特定ユーザが見ている場合は、他ユーザには見せないといった制御も可能です。 どのRDBMSでも、排他制御の機能を持っています。しかし、各RDBMSにより、排他制御の仕組み(排他制御の単位、強さ、区間、指定方法など)は様々です。幾つかのオプション機能を組み合わせることにより、他のRDBMSと似たような制御にすることはできますが、まったく同じ制御にすることは困難です。 >仮に各支店でまったく同時にデータを書き込むことがあったとする >ならデータはきちんと書き込まれるでしょうか? 更新されたデータは、更新したユーザが「COMMITまたはROLLBACK」しないと、他ユーザからは参照できません(排他制御による待ちになる)。