数据库内核-基础知识

常用索引:

介绍:


哈希表:数组加链表,取字段Hash值做Key,
B树:    树形结构,排序后N分查找
B+树:  树形结构,仅叶子结点存放数据
跳表索引:链表+链表,相当于一级链表基础上做了二级链表索引
bitmap:数组存放0-1结构10进制值。数组Key为桶Index,Value为10进制数值,10进制数值转为2进制,通过2进制0-1 位数是否为1 判断该值是否存在。

总结:

哈希索引用来提高点查询效率
B 树索引用来提高范围查询
B 树索引对高并发支持的诟病,引入跳表索引
针对基数较小的列,引入位图索引(bitmap)

SQL基础执行流程:

SQL->Parser->AST->Binder get meta ->Bounded AST -> Optimizer -> Physical Plan -> Executor -> ResultSet

Binder:绑定器,获取meta 并进行元数据判断,库表字段是否为可执行语义判断

Optimizer:优化器,首先生成基础逻辑执行计划。各种优化器

执行树上的每个节点,称为逻辑操作符(logical operator)
每个逻辑操作符扩展出物理操作符(physical operator)

代码运行时,自底向上
物理操作符调用具体执行方法,例如:
    扫描:
        全表扫描
        hash索引扫描
        B树扫描
    GroupBy
        HashGroupBy
        SortGroupBy

读取模式

        1.基础实现模式: 读取所有数据,加载至内存。但是容易OOM

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值