作者回复: 早🤝
作者回复: 👍“切磋切磋“
留言不会“过时”哈,在对应的章节下面提出相关的问题,我会持续关注评论区
作者回复: 谢谢你
“开发都来问我数据库的问题了”,当年我也是这么开始“入坑”,加油
作者回复: 这也太棒了吧,👍
作者回复: 刚过完年都是很忙的, 找时间补上哈,等你的评论区留言^_^
作者回复: 会看的
后台系统是按照留言时间显示的
而且我在这事情上有强迫症,一定会让“未处理问题”变成0的😆
只是说如果是其他同学评论区问过的问题,我可能就不会重复回复了
作者回复: 主要不是定义的问题,而是打印的时候代码问题,按照这个代码输出的:
"%5ld ", (long) thread_id
是个bug, 超过2^31就变成负数了,
新版本改了
好问题😆
作者回复: 就在我们评论区,提跟文章相关的内容,会继续关注。
问题一、前面的过程理解正确,MRR过程用的是read_rnd_buffer
问题二、其实我们文中最后那个过程,你把他设想成在MySQL内部执行。。
问题三、这种复杂的语句,你要把我们两部分知识点连起来看。一个原则:for update的话,执行语句过程中扫到的间隙和记录都要加锁。 当然最好是不这么做,拆成两个语句会好些。
问题四、还是我文中的建议,如果都用NLJ或BKA算法的join其实还好,所以看看explain。
降低join表数量的方法,基本上行就是冗余字段和拆成多个语句这两个方向了
作者回复: 假设当前没有其他事务存在,假设当前的max_trx_id=N,
这时候启动一个只读事务,它的高低水位就都是N。
作者回复: 👍 坚持不易
作者回复: 会的,
也感谢你们一路相伴🤝
作者回复: 可以,因为普通索引上都有主键值对吧,
所以其实是 (null, id1), (null, id2) ....
作者回复: 赞总结能力
作者回复: 🤝
作者回复: 👍👍
作者回复: 这要看你关注的是什么
你这么问,应该这个字段是整型吧?
从查询结果可能是一样的,
不过锁的范围不同,你可以看下21篇
作者回复: 👍👍