●テーブルロックの設計に関して。
MySQLとWebアプリケーションの組み合わせです。
現在、次のような状況です。
WebアプリケーションAの利用者は、既存のレコードを編集したい時、編集開始時にレコードロック(select ...from...where...for update)をかけます。
(このレコードをテーブルTのレコードRとします。)
その間、他のWebアプリケーションAの利用者は、テーブルTのレコードRは閲覧しかできない状況になっています。
●今後、次のようなアプリを作りたいと思っています。
管理者専用の、そして一名しか使えないアプリケーションBを作成したいと思っています。
このアプリケーションBでは、WebアプリケーションAの使用状況にかかわらず、任意のタイミングでテーブルTの任意のレコードを編集
できるようにしたいと思っています。
どんな設計を行うと実現できるでしょうか。
あるいは、管理者も現在のWebアプリケーションAを使って、管理を行うべきでしょうか。
しかし、その場合、WebアプリケーションAを利用時に、管理者がロック待ちに直面すると、管理業務に支障が生じてしまいます。
管理業務の中には、新規追加ではなく、既存データの編集もどうしても含まれるため、ロック待ちは極めて非効率だからです。
●条件
・WebアプリケーションAの改修(sqlを含む)は自由にできます。
・WebアプリケーションAの利用者同士は、誰かが編集している時は、閲覧しかできないという条件は改修後も維持しなくてはなりません。
・アプリケーションBはWebである必要はありません。
どうぞ、ご教授いただければ大変助かります。
回答4件
あなたの回答
tips
プレビュー