我目前正在开发一个网站,在进行数据库设计时,我对并发问题有些担心,我正在考虑使用时间戳来避免这种情况。
我对时间戳的理解是它是这样工作的:
- 有一个字段让我们说“DateModified”,其中每次更新该特定行的更新。
- 然后,只要有 1 个或多个用户访问该行,例如首先阅读,然后最终更新它。
- 在我对时间戳的理解中,我需要一个条件来首先读取我的代码中的“DateModified”。
readdatemodified = 从 ID = 的事务中选择 DateModified
datemodified = 从 ID = 的事务中选择 DateModified
IF datemodified == readdatemodified UPDATE Transaction where ID = ? ELSE 消息“有人更新了记录,请重试”。
IF:成功更新记录
ELSE:这里将通过访问数据库再次检索记录,以确保记录是更新的记录。
我在这里解决了并发问题,但我的新问题是我如何访问数据库。每次更新我都会多次访问数据库?
有没有办法可以使用时间戳最小化数据库访问?