因此,在阅读了PDO / PHP /MySQL中的性能:事务与直接执行关于性能问题的文章之后,我想到了一些关于在MySQL中锁定表的研究。
论http://dev.mysql.com/doc/refman/5.0/en/table-locking.html
表锁定使许多会话能够同时从表中读取,但如果会话想要写入表,则必须首先获得独占访问权。在更新期间,希望访问此特定表的所有其他会话都必须等待更新完成。
这部分特别让我印象深刻,因为我们的大多数查询将是更新而不是插入。我想知道是否有人创建了一个名为foo的表,其中执行了所有更新/插入,然后创建了一个名为foo_view的视图( foo的一个副本,或者是foo,以及其他几个表加foo的链接),是否还会发生锁定问题?
也就是说,在foo_view上选择查询还需要等待更新完成吗?
我的同事又问了一个简短的问题。这会影响缓存吗?也就是说,如果缓存了SELECT,它将命中缓存并返回结果,还是等待锁先完成?
发布于 2010-06-09 18:38:28
https://stackoverflow.com/questions/3008741
复制相似问题