sql优化(b站黑马程序员三)
Posted 健身小白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql优化(b站黑马程序员三)相关的知识,希望对你有一定的参考价值。
1、理解
myisam 表锁
读锁 共享锁 阻塞写
写锁 排他锁 阻塞读写
查看锁的使用
show open tables;
加读锁:
lock tables tb_inport read;
然后去优化锁的时间?????
inodb 行锁 可升级为表锁(比如使用索引下索引失效)
共享锁 排他锁 间隙锁
行锁争用情况:
show status like ‘innodb_row_lock%’;
对于各个状态说明如下:
Innodb_row_lock_current_waits:当前正在等待锁的数量;
Innodb_row_lock_time:从系统启动到现在锁定总时间长度;
Innodb_row_lock_time_avg:每次等待所花平均时间;
Innodb_row_lock_time_max:从系统启动到现在等待最长的一次所花的时间长度;
Innodb_row_lock_waits:系统启动到现在总共等待的次数;
优化建议
尽可能让所有数据检索都通过索引来完成,避免无索引行锁升级为表锁;
尽可能较少检索条件,避免间隙锁;
尽量控制事务大小,减少锁定资源量和时间长度;
锁住某行后,尽量不要去调别的行或表,赶紧处理被锁住的行然后释放掉锁;
涉及相同表的事务,对于调用表的顺序尽量保持一致;
在业务环境允许的情况下,尽可能低级别事务隔离;
以上是关于sql优化(b站黑马程序员三)的主要内容,如果未能解决你的问题,请参考以下文章