是MySQL“;线程安全“;来自php脚本?
如果我有一个在MySQL连接上调用INSERT、UPDATE、DELETE等的php脚本,并且该脚本在不受控制的时间被POST操作调用,那么它是否总是“安全的”(即在请求期间不会导致损坏的表或冲突) 例如,如果在1秒时间内有500个请求 如果是这样,php/mysql是如何实现的 如果没有,需要做什么来保证“串行”访问或安全的同时访问 它是否总是“安全的”(即在请求期间不会导致损坏的表或冲突) 对 如果是这样,php/mysql是如何实现的是MySQL“;线程安全“;来自php脚本?,php,mysql,thread-safety,Php,Mysql,Thread Safety,如果我有一个在MySQL连接上调用INSERT、UPDATE、DELETE等的php脚本,并且该脚本在不受控制的时间被POST操作调用,那么它是否总是“安全的”(即在请求期间不会导致损坏的表或冲突) 例如,如果在1秒时间内有500个请求 如果是这样,php/mysql是如何实现的 如果没有,需要做什么来保证“串行”访问或安全的同时访问 它是否总是“安全的”(即在请求期间不会导致损坏的表或冲突) 对 如果是这样,php/mysql是如何实现的 表/行锁。使用事务。。。请参见我认为您需要的术语是事务
表/行锁。使用事务。。。请参见我认为您需要的术语是事务和隔离级别。如果这些是根据您的要求设置的,您就不必担心碰撞。以下是有关的教程。MySQL使用锁定(MyISAM的表级或InnoDB的行级),这不允许两个进程(对脚本的两次调用)修改同一行。因此表不会崩溃*,但MySQL可能无法在reasanoble时间内处理请求数量,请求将等待。您应该始终优化查询,使其尽可能快
*MyISAM可能会在插入/更新密集型应用程序上崩溃,但它具有自动恢复功能。但是请记住,在这种应用程序中,InnoDB的性能要高得多通常数据库是可靠的,但有些重要操作必须完成或放弃。考虑一下银行账户上的现金存款 为了实现这一结果,您可能对使用事务感兴趣: MySQL使用锁来表示和表示原子性。事务需要InnoDB或BDB。InnoDB支持完全支持 锁和事务的组合将解决您的并发问题 默认情况下,MySQL具有
一定要了解这些功能,看看它们是否符合要求。MyISAM使用表锁定,而InnoDB提供行级锁定,因此其中一个可以更好地满足您的需要。
BEGIN。。。工作。。。;承诺这个问题有很多很好的答案;我不敢相信社区在这件事上的速度和反应——谢谢。我相信,其他一些答案可能对那些寻求构建坚如磐石的企业级实现的人更有指导意义——如果是您,请参见下文。一、 然而,我尽量少做,只是想知道mysql是否能够处理大量的并发请求。答案是肯定的,任何人都不会因为知道另一个答案而获得报酬。谢谢你,达哈泽。