2020年11月4日

select会不会加锁

摘要: 本人曾经参加过一次面试,被问到了select会不会加锁,当时我斩钉截铁的说,不加锁,因为有mvcc,当时我是觉得自己无比的正确 不过今天刚好看到不错的文章,我知道了select会加锁,而且加的还是表级锁。 表级锁?别担心,表级锁并不是表锁,而是meta lock元数据锁,元数据锁分为读锁和写锁,所有 阅读全文

posted @ 2020-11-04 19:30 MaXianZhe 阅读(2714) 评论(0) 推荐(0) 编辑

事务隔离性小节

摘要: 在实现上,数据库里面会创建一个视图,访问的时候以视图的逻辑结果为准。在“可重复读”隔离级别下,这个视图是在事务启动时创建的,整个事务存在期间都用这个视图。在“读提交”隔离级别下,这个视图是在每个SQL语句开始执行的时候创建的。这里需要注意的是,“读未提交”隔离级别下直接返回记录上的最新值,没有视图概 阅读全文

posted @ 2020-11-04 18:57 MaXianZhe 阅读(40) 评论(0) 推荐(0) 编辑

零拷贝

摘要: 零拷贝还是很重要的,比如可能有人考你KAFKA的高性能是怎么实现的啊 这其中就有零拷贝 对于JAVA程序员来说,说到零拷贝只需要说出来 1 底层是sendFile 2 JAVA中的api是 FileChannel.transferTo() 如果想多说点 零拷贝技术通过 DMA (Direct Mem 阅读全文

posted @ 2020-11-04 15:20 MaXianZhe 阅读(67) 评论(0) 推荐(0) 编辑

用户态和内核态IO过程

摘要: 熟悉mysql和kafka的刷脏页流程后,都知道内存中的脏页不会立刻刷到磁盘,下面就细化下流程 写操作: 用户调用 fwrite 把数据写入 C 库标准 IObuffer 后就返回,即写操作通常是异 步操作; 数据写入 C 库标准 IObuffer 后,不会立即刷新到磁盘,会将多次小数据量相邻写操作 阅读全文

posted @ 2020-11-04 12:19 MaXianZhe 阅读(723) 评论(0) 推荐(0) 编辑

导航