我有一个管理用户帐户数据的MySQL数据库。 每个用户只能查询他自己的数据。 我有一个脚本,在初始登录时获取用户数据并将其插入到数据库中。 我安排了一个cron进程,每4小时更新一次所有用户的数据。
以下是我的问题:
(1) - 我是否需要在初始登录脚本上实现某种锁机制? 这个脚本可以同时由大量用户执行 - 但每个用户都可以执行 user在数据库中有一个专用位置,因此不会影响其他数据库行。
(2) - 关于cron进程的同样问题,我应该处理这个场景: 当cron进程更新用户i数据时,用户i尝试获取他的数据 来自DB。 我的意思是MySQL已经支持并处理这种情况吗?
任何帮助都将不胜感激。
感谢。
答案 0 :(得分:0)
不,您不需要锁定数据库,MySQL引擎会为您处理此任务。如果您自己制作数据库引擎,则必须确保没有任何东西会妨碍数据更新或与数据更新冲突,但由于您运行的是MySQL这样的智能,您无需担心它
在更新数据时,所有查询都会排成一行,直到更新完成。