Mysql 创建数据库的cron作业会影响用户吗?
我有一个网站,我需要创建一个临时数据库表,每5小时重新创建一次。完成此操作大约需要0.5秒 网站分析显示,点击率约为每秒5次。这个数字可能会逐渐增加 问题: cron作业清空数据库并重新创建它。这是否意味着,当某人正在访问一个页面,该页面在cron作业下处于活动状态时基于临时数据库填充数据,他可能没有找到数据或数据不完整? 或Mysql 创建数据库的cron作业会影响用户吗?,mysql,cron,Mysql,Cron,我有一个网站,我需要创建一个临时数据库表,每5小时重新创建一次。完成此操作大约需要0.5秒 网站分析显示,点击率约为每秒5次。这个数字可能会逐渐增加 问题: cron作业清空数据库并重新创建它。这是否意味着,当某人正在访问一个页面,该页面在cron作业下处于活动状态时基于临时数据库填充数据,他可能没有找到数据或数据不完整? 或 由于锁定,Mysql会处理此场景?正如我所知,当您锁定表时,其他人无法访问该表,除非您将其解锁,但其他连接将只等待0.5秒,因此您的用户在重新创建表时可能需要额外等待0.
由于锁定,Mysql会处理此场景?正如我所知,当您锁定表时,其他人无法访问该表,除非您将其解锁,但其他连接将只等待0.5秒,因此您的用户在重新创建表时可能需要额外等待0.5秒
不要担心没有数据,只是偶尔会有延迟 我知道,当您锁定表时,其他人无法访问该表,除非您解锁该表,但其他连接将只等待0.5秒,因此您的用户在重新创建表时可能需要额外等待0.5秒
不要担心没有数据,只是偶尔会有延迟 根据我的测试,如果一个MySQWL客户端试图删除一个数据库,而另一个客户端锁定了它的一个表,那么该客户端将等待Table被解锁 但是,删除数据库的客户端本身也不能对数据库的任何表持有锁。因此,根据您正在执行的操作,您可能需要使用其他方法来序列化请求等等。例如,如果作业需要删除并重新创建数据库、创建表并在其他客户端使用它们之前填充它们,那么表锁定将是一个问题,因为并不总是有要锁定的表 考虑使用显式锁定来协调“临时”数据库上的操作
也考虑重新考虑你的策略。定期删除和重新创建整个数据库不是一种常见做法。根据我的测试,如果一个MySQWL客户端试图删除数据库,而另一个客户端的一个表被锁定,则客户端将等待Table解锁 但是,删除数据库的客户端本身也不能对数据库的任何表持有锁。因此,根据您正在执行的操作,您可能需要使用其他方法来序列化请求等等。例如,如果作业需要删除并重新创建数据库、创建表并在其他客户端使用它们之前填充它们,那么表锁定将是一个问题,因为并不总是有要锁定的表 考虑使用显式锁定来协调“临时”数据库上的操作
也考虑重新考虑你的策略。定期删除和重新创建整个数据库不是一种常见做法。您可以先在临时名称下创建,然后填充旧数据库,然后在重命名新数据库时删除旧数据库,而不是删除和重新创建数据库
此外,如果找不到表,您应该使web应用程序适合重试,以应对表不在此处的小时间窗口,或者在视图上操作而不是重命名表。您可以先在临时名称下创建,而不是删除和重新创建,在重命名新文件时填充并删除旧文件
此外,如果找不到表格,您应该使web应用适合重试,以应对表格不在此处的小时间窗口,或者在视图上操作而不是重命名表格。谢谢您提供的信息。我也意识到放弃和重新创造不是一个好的做法。我能用什么方法解决这个问题?我的中间数据库用于主菜单,出现在每一页上。谢谢你的信息。我也意识到放弃和重新创造不是一个好的做法。我能用什么方法解决这个问题?我的中间数据库用于主菜单,出现在每一页上。