アプリ版:「スタンプのみでお礼する」機能のリリースについて

AWSを使用して、MySQLのデータベースを参照・更新するWebシステムを開発しています。

そこで、以下のような問題が発生しています。

1ユーザがDBを参照しながら、サーバで処理時間がかかる処理を実行中に
他のユーザが、DBを参照したりする処理を実行すると、
先に処理していた処理が、途中中断してしまいます。

プログラムの作りの問題なのか、何かAWSに設定しなければいけない項目があるのかも
分かっていません。

どなたか、考えられる事を、ご教授頂けないでしょうか?

A 回答 (1件)

ほとんどデータベースは触ったことがないですが。



 データベースの更新作業中に他者が操作することを「コンフリクトが発生した」と表現しますが、データベースを操作中は一時的にロックした方がよいのでないでしょうか。


https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3 …
https://ja.wikipedia.org/wiki/%E7%AB%B6%E5%90%88 …

 データベースを操作中であることを示すフラグを用意し、他者はフラグが立っていたらデータベースへの操作を遅延させるなど。

 試すのであればこのような感じだろうか。

>MySQLでINSERTのデッドロックに嵌る人を1人でも減らすために
http://ichirin2501.hatenablog.com/entry/2015/12/ …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す