腾讯笔试 数据库问题
来源:互联网 发布:淘宝类目属性数据库 编辑:程序博客网 时间:2024/06/16 13:13
题目描述:设文件F具有10000个记录,每个记录50字节,其中10字节用来表示文件的键值。每个磁盘块大小1000字节,指向磁盘块的指针占5字节,不允许记录跨两个块。
(1)如果为文件F建立简单的Hash索引,使用100个Hash桶,则桶目录需要多少磁盘块?平均每个桶需要多少磁盘块?
(2)如果为文件F建立B+索引,各磁盘块尽量填满,需要多少磁盘块存储索引?
答案:
(1)桶目录是是一个列表,100个桶可以存放在尺寸为100的int型数组中,一个int型占4个字节的话,总共400个字节,而一个磁盘块1000个字节,所以桶目录存放于1个磁盘块中;
给了100个Hash桶,一个桶里放100个记录,100个记录总共100*50=5000个字节,所以需要5000/1000=5个磁盘块。
(2)建立B+索引,从叶子节点算起,求出每个叶子节点的在尽量放满一块磁盘的情况下共存了多少条记录:10×R+5×R<=1000,R取66,所以叶节点的总数为⌈10000/66⌉=152个,即叶节点需要152个磁盘块;因为刚才计算出R=66,即上层节点是66叉树,那么上层节点数有⌈152/66⌉=3个,则需要3个磁盘块;再往上层节点走,只需要安排1个节点,即到达根节点。所以总共需要152+3+1个磁盘块。
答案只是个人想法,不一定正确,还希望各位指正交流
0 0
- 腾讯笔试 数据库问题
- 腾讯测试笔试面试问题
- 腾讯笔试:满二叉排序树问题
- 腾讯笔试题之字符串匹配问题
- [笔试题] 腾讯某道笔试题,概率问题
- 腾讯笔试
- 腾讯笔试
- 腾讯笔试
- 腾讯笔试
- 腾讯笔试
- 腾讯笔试
- 腾讯笔试
- 数据库常见笔试面试问题
- 针对fork的调用问题。(腾讯笔试题)
- 微软、谷歌、腾讯等笔试题之随机概率问题
- 德梅齐里亚克砝码问题--腾讯QQ2014实习生笔试题目附加题
- [PHP四六级] 腾讯笔试之is_writeable函数bug问题
- 腾讯2014实习生笔试题--德梅齐里亚克砝码问题
- 51nod 1478 括号序列的最长合法子段
- 信息时代的独立阅读者(二):怎么阅读科普类文章
- 不敢死队
- VTK图形处理之抽取轮廓
- 链表中倒数第k个节点
- 腾讯笔试 数据库问题
- 《CODE》读书笔记 17 自动操作
- Error:_TCHAR**的实参与char**的形参不兼容
- OC一些基本东西的理解(持续更新)
- Java基础(7):面向对象三大特性—封装、继承和多态的详解
- 面向对象(5)
- 第六周报告
- 测试覆盖:语句覆盖 判定覆盖(即分支覆盖) 条件覆盖 判定-条件覆盖 条件组合覆盖 路径覆盖
- Core Animation核心动画的使用