为什么查询一行数据也很慢?
1.MySQL数据库本身被堵住了,比如:系统或网络资源不够
2.SQL语句被堵住了,比如:表锁,行锁等,导致存储引擎不执行对应的SQL语句
3.确实是索引使用不当,没有走索引
4.表中数据的特点导致的,走了索引,但回表次数庞大
SQL语句被堵住的原因
- 表锁
1 | mysql> select * from t where id=1; |
长时间不返回,一般碰到这种情况的话,大概率是表 t 被锁住了。接下来分析原因的时候,一般都是首先执行一下
show processlist 命令,看看当前语句处于什么状态。然后我们再针对每种状态,去分析它们产生的原因、如何复
现,以及如何处理。