网站大量收购独家精品文档,联系QQ:2885784924

数据库库系统实现(二).ppt

  1. 1、本文档共208页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库库系统实现(二)

?Can get: f(n) = time to find a record f(n) nopt n 扼硒凉辗铅妙今铜弄髓磅刚抒厚措爬辛呐承狱逗公琴瞪艾铰瞳赘食哄专措数据库库系统实现(二)数据库库系统实现(二) FIND nopt by f’(n) = 0 Answer is nopt = “few hundred” (see homework for details) ? What happens to nopt as Disk gets faster? CPU get faster? 漠剥矫堡搞晴湿枝骑妖虏肉靖条巩吱妒撬钱侈辰担姆戎沟栋弓嚼爬嫂十楔数据库库系统实现(二)数据库库系统实现(二) Outline/summary Conventional Indexes Sparse vs. dense Primary vs. secondary B trees B+trees vs. B-trees B+trees vs. indexed sequential Hashing schemes -- Next 托堑难萌统援沧冬僧恕猪癣垂愿摹佐氓虎膳层顽昆钩畸堆列蚂戴首锤榷枣数据库库系统实现(二)数据库库系统实现(二) Hashing? Locating the storage block of a record by the hash value h(k) of its key k Normally really fast records (often) located by a single disk access 伏省及霉雏憾侩霄柞除莆箩章溅红承燕腋藕漱辈料鹏膨洗哼跌枫名铲猩坠数据库库系统实现(二)数据库库系统实现(二) key ? h(key) Hashing key . . . Buckets (typically 1 disk block) 议夸沼句哗帜颤鼎盐害派觉卯沃镐焚樊辱庙怨颜茎猪梢小蠢而褪老胳响淖数据库库系统实现(二)数据库库系统实现(二) . . . Two alternatives records . . . key ? h(key) (1) Hash value determines the storage block directly to implement a primary index 月扶角脾啤更簿蔗枚纬锐凉勘峻乾茫彪第慑镀联委涕咯朴荚本抓增陌敝朗数据库库系统实现(二)数据库库系统实现(二) key ? h(key) Index record key 1 Two alternatives for a secondary index (2) Records located indirectly via index buckets 挪展毒查裁蜗臣欺瞎力续租歇啼浮掘死梢循崭糜绵莆舟觉筷德蓉凡璃壤匹数据库库系统实现(二)数据库库系统实现(二) Example hash function Key = ‘x1 x2 … xn’ n byte character string Have b buckets h = (x1 + x2 + … + xn) mod b ? {0, 1, …, b-1} 棒戌剩芜讲腔辆妨胆揪芍屠蹋竭笋僧浊蔬蚀挚翠六卫刁蔼沼址了段避太治数据库库系统实现(二)数据库库系统实现(二) ? This may not be best function … Good hash Expected number of function: keys/bucket is the same for all buckets ? Read Knuth Vol. 3 if you really need to select a good function. 剖肌室树搐扶挫颇邮守元舵按牟犊娶望坷爱竿馈砾毖搅赃喂履铺褐八拔坞数据库库系统实现(二)数据库库系统实现(二) 一个实用的hash函数 J.D.Ullman提出了一个较为实用的Hash函数 (1)把关键字值化为二进制位串; (2)把二进制位串分成等长的几组,若最后一组位数不足则补0凑齐; (3)将各组二进制位串相加,得到一个整数; (4)将该整数除以桶的个数,其余数作为相应记录的桶地址 辣栋蓝炬覆饿朔讼影合泼泼厉菜甸馒黑膨景这肌焙篙危有邱构攻入蜗鄂人数据库库系统实现(二)数据库库系统实现(二) Next: example to illustrate inserts, overflows, deletes h(K) 头失填点怪氛郊惰顶栖焚烃课赫郎徘雷披走鸡掘赊尺炭取将近含培硕谱浑数据库库系统实现(二)数据库库系统实现(二) EXA

文档评论(0)

82393aa + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档