MySQL select查询数据会锁表吗

MySQL锁表一般发生在insert update delete,那select操作会缩表吗,不同的引擎是否表现一样呢?

会锁表,但分情况,一般是加S锁,如果是有索引,会给行锁,如果没有索引,则给的是表锁。

S锁不会影响到其他的查询,但是会影响到插入和更新,也就是说,如果你有一个查询很慢,且进行了表锁,你的插入和更新都会被影响到,但不会影响其他的查询,但如果有索引,走的行锁,又不会影响到其他的插入和更新。

多表查询,并且全表扫描时,就更容易出现耗时几十秒的sql,对于sql要合理的增加索引。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注