查询等待锁 是怎么回事 怎么解决

一个页面有好几个模块
图片说明
如图 2模块和3模块请求同一张表 在它查询慢的时候我查看数据库有发现表被锁的情况 等它查询结束 请求出数据的时 在查询被锁的表也就没有了 前端是6个模块一起请求的 要怎么优化 如果让前端逐一请求 效果是不是太差了 这种情况为什么会发生呢?

查询为啥还会锁表呢?是不是sql写的有问题。