数据库内核面试中我不会的问题(3)

本文探讨了数据库内核面试中遇到的一些复杂问题,包括延迟物化、逻辑地址与物理地址转换、消除关联子查询、并发与并行的区别、anti join的实现、join reorder策略、多线程性能优化及一个涉及字符串操作的编程题。详细解析了每个问题的关键点,如延迟物化的性能优化,以及多线程中可能出现的死锁、加锁和上下文切换等问题。
摘要由CSDN通过智能技术生成

1.说一下延迟物化?

物化和延迟物化_极致OLAP的博客-CSDN博客_延迟物化

在软件系统中,为了实现计算和存储的优化,会对原始数据做各种中间形态转换,如字典映射,压缩等等。但是数据最后还是要表现它的真实形态的(真实形态才有意义),这时候就需要通过物化,将中间形态转换为原始形态。

延迟物化就是尽可能将这个过程延后。

 比方说tidb。里面数据是通过chunk来传递的,那么如果一个chunk中有些数据是有效的,有些数据是无效的,那么就可以使用延迟物化技术,构建一个数组来记录有效的行,等最后在将这些行抽出来做成一个新的chunk。

如果不使用延迟物化,那么每次都构建新chunk,性能损耗就太大了。

2.对于逻辑地址和物理地址的内存转换原理/映射原理?

(之前只知道了逻辑地址和物理地址的区别,对于映射关系这块我真没有太深入。然后人家问了,我不会。)

这里是根据页式内存管理来工作的。浅析逻辑地址与物理地址映射关系_朱里安的博客-CSDN博客_逻辑页号与物理页号的对应关系

先通过逻辑地址获取逻辑页号和页内偏移量。

然后可以通过页式内存管理来寻找到对应的物理页号,转换成物理地址。

其实我是觉得这个和数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aiky哇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值