00:00
我们来看看函锁我们会有哪些小总结,函锁的是表锁的,之前我们是不是用show status like table看了那个wait,如果那个数字越高,是不是说明等待的越多越恐怖啊?同理类横向类比相通性的原则,既然你表锁可以看行锁能不能看可不可以,所以说在性能监控的语序上,那么呢也会有,当然如果你是大公司呢,就比较好一些。这些事儿呢,将会由运维的兄弟提需求,然后呢,让Java的兄弟呢做一套监控平台,时不时的是不是自动的就发的这些命令,随时调出来,以图形化的方式给你展现,当前你被锁了多少,锁了多长时间了。能理解吗?这大就说,比如说同学们一定学过拓扑这个命令吗?请问我Linux如果我用底层原版的话,这个拓扑命令以后是不是出现一些数据,那你跟我说这些数据我能不能把它抓出来放到一个Java系统里面,以一个监控系统的形式给你们展现,这不一样吗?是不是好?那么这个时候呢,我们来看看哈。
01:10
我们呢来no DB的存储引擎由于实现了什么锁定,所以说我们第一天是不是介绍了两种引擎啊,那么第二次来讲的时候就是一定把这个其实它考虑就是存储引擎和锁的行为方式,那么呢,我们呢可以看出来出我们呢函锁的性能损耗会比表索要高一些,但是整体的什么能力啊,哎,所以说呢要高于它,不过并发量高的时候,那么我们呢就会知道一楼DB的整体性能是价比S呢就明显了,因为楼DB就是为高品发诞生的,但是这个货是不是也有其崩溃的一面啊,我们也刚才知道了,使用不当的话,寒锁变表锁这种情况,那么同学们恐怕就得不偿失咯,OK,好。
02:03
下面我们来看看函数的分析,来依旧有相关的命令,这是不是有个DB绕lock呀,那么好,我们呢,来直接试验一把,来看看,那么言下之意,只需要有什么这种命令你都不用背,只要你有一份笔记,以后真碰到问题你知道从哪找,把这个命令一看是不是就OK了。注意一定要明白,以后有时候你C不灵光的时候要明白,有可能会是客户端连接工具的问题。就刚才还记得我那个三选三,我重连那个三十三十就好了,什么意思呢?就是假设你凡是尤其是像买色你改了配置参数啊,你改了以后最好重启重连,这个是最没有问题的,听懂了吧,有些你也知道,有些客户端工具,就是你改完以后,你如果还是原来的那个,它因为缓存或者它自己保存特性的关系,是不是不起消啊,那么这个时候你可以尝试着新开一个窗口来连接,明白好,那么这个时候同学们请看我们鼠标右键。
03:07
大家看这个是不是有个look wait呀,那么呢,这波那么呢,请同学们呢,不用全部背,你只需要记得这个。一句话是不是上面这些是不是全是时间内啊,那么时间越多,那是不是导致问题时间锁的时间越长啊,刚才还记不记得我是不是一个锁,随随便便都是锁了什么两分钟78秒,26秒,36秒那种东西啊,那么呢看。各个状态如下。当前正在等待锁定的数量,现在没有锁了吧,那么也就说什么当前是不是无锁,好,那么依旧所的总体长度平均等等等等这个总体次数,那么第一个和最后一个是最重要,如果当前的不是零,恭喜你。
04:04
那么这个时候你的这个锁如果是100多。假设一个高并发的系统,你的买色的数据库上100多把锁,这就好比你每天上课天天背一个什么十个书包来上课,你试试你走的快不快?好,那么这个时候我们往下翻,只需要把这三个记录一下,等待的平均时长,等待的总次数,等待的总时长没问题吧?尤其当等待次数很高,而且每次等待时长也不小的时候,我们是不是要分析为什么会有这么多等待了?那么言下之意,这种分析拿什么分析呢?一定是用profile profile是把整个生命周期的每一步都告诉你,连接了多长时间,查缓存花了多长时间,查询花了多长时间,Send查数据了多长时间,拷贝的数据多长时间,每一步都给你罗列啊,那这个时候就像我们说的了,你购物清单怎么我本次消费这么高,一看你点了某一个菜。
05:02
特别特别的贵,那么是不是就是它是最贵的那个问题啊好,那么这块就请同学们呢看一下,那么呢,下面的要求请把这条语句用的多,因为现在用运动D用的多,请在纸上写一遍,好那么呢,我们这块复习呢,前面的知识也得到了行琐的分析,那么最后我们有一个优化的小建议,尽可能让所有数据检索都通过什么来完成,避免无索引升级为表索挖差类型,不加单引号是重罪,第三次强调了听懂,那么这个时候函锁变表锁很坑爹的,来合理设置索引,尽量缩小锁的范围,那么你写范围查询的时候,你要明白是不是会有间隙锁的危害啊,来尽可能较少检索条件,避免间隙锁,尽量控制事物的大小等等,我就不再废话了,好吧,那么好,这个呢,就是我们函锁的。
06:03
定义,那么呢到夜锁我们呢只需要知道现在呢它用的也比较少,开销和加锁时间介于含表锁之间,会出现死锁,那么并发呢也一般,那么呢请同学们呢了解一下即可知道有这么一个东西就行了,听懂了OK,那么呢这个呢就是我们MYSQL所机制的相关的介绍和全部内容。
我来说两句