(二)Hyper如何对DataBlock中的数据进行索引
来源:互联网 发布:fikker破解版linux 编辑:程序博客网 时间:2024/06/13 04:12
上图中展示了一个4byte的列的索引在hyper中的PSMA怎么工作的。按照Hyper的索引方式,lookuptable的有4byte*2^8= 2^1024个entry。
其中,重要的的就是,如何将min和max之间的数据用这1024个entry表示。
那么entry的计算方式是:其中,r是byteofdelta中除开第一个非0 的byte后剩余的byte数量。
我们现在来验证可行性,假设这个列是4byte,min是0,max是2^32,那么如果我们探测2^32,得到的 i = 2 ^ 8 + 3 * 2^8 ,这个时候,依然会将index锁定在lookup table里面。
从上面的图片中可以看出来,对于数据小的部分,索引是更加精确的。所以,为了稍微平衡这种情况,Hyper中才会用数值与min之差作为delta,这样可以让更多的数据能够被映射到数据值小的对应的entry上面(数据值小的entry里面含有的数据量是更小的)。
不过这样带来的好处就是可以通过值找到相应的范围。而不需要遍历所有的元数据的范围信息再找到值在哪里(比如我们的系统)。
建立lookuptable过程,就是个scan列数据的过程
0 0
- (二)Hyper如何对DataBlock中的数据进行索引
- Oracle DataBlock是如何存放数据的
- 如何对数据库中的图象数据进行读写?
- 如何使用USB Key中的证书对数据进行签名
- 如何:对 DataGridView 控件中的数据进行排序
- 如何对表进行建立索引sqlserver
- 对数据库中的索引进行碎片整理
- (四)Hyper如何将数据整合以及取数据
- 电商如何对商品进行价格定位?(二)
- OpenCV(二)如何对图像的像素进行操作
- 对图像数据进行二抽取
- 如何对数据进行Base64编码(转载)
- 如何对 Oracle 数据泵(expdp/impdp) 进行 debug
- Hyper-V配置(二)
- SQL Server 使用索引来对数据访问进行优化
- 如何对建模型数据进行预处理
- 如何对建模型数据进行预处理
- 如何对数据按某列进行分层处理
- linux vps下mysql cpu占用过高解决办法
- 交叉编译nanopi QT+QWT界面的流程和问题
- [hadoop]hadoop eclipse plugin安装与配置(四)
- Android使用Cordova框架开发Android Hybrid App
- Best Time to Buy and Sell Stock III
- (二)Hyper如何对DataBlock中的数据进行索引
- 将pgm图片使用Sequence file存储到hdfs,并读取为Mat数组格式
- 后缀数组模板
- java编写网页爬虫(分页——插入数据库——导出数据)
- Sublime Text 3 常用插件以及安装方法
- 定制自己的报表!7款实用开源报表工具
- UIAutomator定位Android控件的方法实践和建议(Appium姊妹篇)
- Java经典类库-Guava中的函数式编程讲解
- LeetCode 142. Linked List Cycle II(循环链表)