MySQL锁表一般发生在insert update delete,那select操作会缩表吗,不同的引擎是否表现一样呢?
会锁表,但分情况,一般是加S锁,如果是有索引,会给行锁,如果没有索引,则给的是表锁。
S锁不会影响到其他的查询,但是会影响到插入和更新,也就是说,如果你有一个查询很慢,且进行了表锁,你的插入和更新都会被影响到,但不会影响其他的查询,但如果有索引,走的行锁,又不会影响到其他的插入和更新。
多表查询,并且全表扫描时,就更容易出现耗时几十秒的sql,对于sql要合理的增加索引。