我正在尝试构建一个用于在某些测试中存储结果的数据库。问题是这些测试是在并行和单独的进程中运行的,并且在每个测试完成后,它会将结果提交给数据库。现在我知道MySQL旨在处理这种情况,而像InnoDB这样的引擎可以实现行级锁定。
非常感谢任何帮助。
答案 0 :(得分:1)
数字2由您自己决定,当mysql_connect()
或您用于连接数据库的任何内容将引发异常时,您将采取什么措施。第1个问题将在MySQL级别解决,具体取决于您的进程需要对锁定的表或行执行什么操作。通常,这会导致查询暂时延迟访问锁定区域中的数据,但如果其他进程长时间锁定表/行,则会返回一个时间外错误。也可以进行相互锁定,比如进程A锁定第1行,进程B锁定第2行,A希望来自第2行和B的数据需要来自第1行的数据。这被称为“死锁”,其中一个进程被选中作为死锁受害者,其查询返回失败。