http://www.dewen.net.cn/q/14665/个人感觉用二分法最完美的,需要操作系统支持随机读取指定一行的数据,貌似现在还不行,江湖救急呀

评论 (0) • 举报 (0) • 分享 • 链接 • 2013-09-16 
添加评论...
1个答案 票 数
brayden认证专家
2 票
brayden6562
想一下数据库索引怎么做的? 参考b树的实现.

对这题来说, 10亿在 G量级, 分成100份, 为10M量级, 基本上放入内存无压力了.

在这10亿记录中, 均分为100份, 把每份的 第一条记录关键字和 此记录对应的文件偏移量先 扫入内存(类似索引?), 这里需要 磁盘随机io 100次.

这样可以马上定位出 指定关键字所在的记录块, 把相应的记录块拿到内存, 二分查找即可.

更新
数据库定位, 上面的这一点点还差很多啊...

数据库一般:
1). 全表扫描, 没啥好说的;
2). b树索引, 拿oracle来说, 索引的叶节点 存的有 (记录的索引键值, 记录的rowid)
rowid为10个bytes, 存有 segment,file, block, row in the block. 这样可以通过rowid直接找到此记录的物理地址.
详见:
http://www.dbms-notes.com/2010/12/oracle-data-storage-rowids.html

更多索引知识, 参见:
http://www.orafaq.com/node/1403

转载于:https://www.cnblogs.com/brayden/p/5262239.html

http://www.dewen.net.cn/q/14665/个人感觉用二分法最完美的,需要操作系统支持随机读取指定一行的数据,貌似现在还不行,江湖救急呀...相关推荐

  1. http://www.dewen.net.cn/q/16007/mysql查询如何先排序再分组呢

    http://www.dewen.net.cn/q/16007/mysql查询如何先排序再分组呢 kwooshung 2 票 kwooshung 11 比如数据表"article" ...

  2. http://www.dewen.net.cn/q/15807/java byte 疑问

    http://www.dewen.net.cn/q/15807/java byte 疑问 罢巴 1 票 罢巴 252 看的是 java7 入门经典,第58页有一个关于byte类型变量初始化的问题,希望 ...

  3. http://www.dewen.net.cn/q/9980/JQuery AJAX GBK 编

    http://www.dewen.net.cn/q/9980/JQuery AJAX GBK 编码 wpjsolo 1 票 wpjsolo 53 $.ajax({ type:"POST&qu ...

  4. http://www.dewen.net.cn/q/14879/搜索引擎结果自动跳转

    http://www.dewen.net.cn/q/14879/搜索引擎结果自动跳转 车头灯 2 票 车头灯 28 我是学生,维护学校的网站,广外地带,大家可以搜一下. 在搜索引擎,google和百度 ...

  5. http://www.dewen.net.cn/q/6120/如何获取Java对象的大小

    http://www.dewen.net.cn/q/6120/如何获取Java对象的大小 kenvi 1 票 kenvi 2078 在C或者C++里经常会通过sizeof来计算一个对象所占空间的大小, ...

  6. http://www.dewen.net.cn/q/15749/PHP求数组值相加(可重复)等于某值的所有组合

    http://www.dewen.net.cn/q/15749/PHP求数组值相加(可重复)等于某值的所有组合 tieGump 1 票 tieGump 8 例如 $data = array(1,2,4 ...

  7. http://www.dewen.net.cn/q/15051/C++ 整形和浮点数相除的精度问题

    http://www.dewen.net.cn/q/15051/C++ 整形和浮点数相除的精度问题 王老五 2 票 王老五 13 将一个单浮点数精确到千分位的程序 //舍入计算 精确到千分位 void ...

  8. http://www.dewen.net.cn/q/15328/问个正则表达式 贪婪 和 不匹配某个字符串问题

    http://www.dewen.net.cn/q/15328/问个正则表达式 贪婪 和 不匹配某个字符串问题 ovalpo 1 票 ovalpo 8 举例说明,例如有行文本,想找出由 << ...

  9. http://www.dewen.net.cn/q/13558/100阶乘

    http://www.dewen.net.cn/q/13558/100阶乘 追梦天涯 1 票 追梦天涯 19 100阶乘怎么算才不会溢出 评论 (0) • 举报 (0) • 分享 • 链接 • 201 ...

最新文章

  1. 图机器学习有多大神力?
  2. RAC RMAN 备份 RMAN-03009 ORA-19504 ORA-27040 RMAN-06012 channel c3 not allocated 错误分析
  3. 深度解说阿里云 Serverless Kubernetes
  4. html页面内分栏显示不全,怎么消除Word文档分栏后栏间不平衡现象
  5. 今日英语:out of the box
  6. Redis笔记(七):Redis应用场景
  7. 一周信创舆情观察(12.7~12.13)
  8. GB2312、GB18030、GBK、UNICODE、BIG5之间兼容关系
  9. 实测PD18W/30W/65W充电器给iPhone xs充电快慢对比
  10. [6.837]A3:OpenG应用和Phong着色模型
  11. 网工解惑:何为二层交换机,它与三层交换机的区别在哪里?
  12. 花都平安保险应该找谁?
  13. 计算机课听后评课稿,教师听课反思(评课记录)
  14. LSF - 提交GUI应用到LSF无法运行,报错Failed to connect to socket /tmp/dbus-xxxxxxxxx: Connection refused
  15. Qt深入浅出(十五)QTableView
  16. 【C++】【C++ Primer】8-IO库
  17. redis 在备份报错修改vm.overcommit_memory
  18. LeetCode:438. 找到字符串中所有字母异位词(简单易懂)
  19. 南通大学计算机技术/人工智能---822数据结构(计算机技术+人工智能专业)
  20. 泡沫芯层的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告

热门文章

  1. 海洋学常用的 python 库
  2. 【计算机视觉与深度学习】全连接神经网络(二)
  3. Xshell7 远程连接 阿里云服务器需要用户密钥问题
  4. 懂得选择,学会放弃!
  5. python 利用高德地图定位小区名字
  6. arduino 计时器和中断
  7. 对异步FIFO的全面理解
  8. Mariadb数据备份恢复xtrabackup使用
  9. springboot毕设项目“果然是你”水果直销平台vkfo8(java+VUE+Mybatis+Maven+Mysql)
  10. 如何为linux安装微软字体