DBMS-Implementing Selection on Multiple Attributes (N-d)

206 阅读1分钟

Multi-dimensional (Nd) Selection

image.png

上图例子, 根据参数 1.假设一个page中含有一个tuple,则d=3,为attr使用3 -bits的hash value(如图) 2.属性值为最终的hash值做贡献 简单来说就是结合属性的hash来创建最终的hash

image.png 用结合生成的hash来做单个tuple的索引

image.png

发生这种query中的缺失情况时,需要按照可能性进行scan image.png

问题:

image.png

解答
   50000 tuples in b=1024 pasges
   d=10 hash bits
   
   a. 多少个page需要access?
       已知w和x,也就是10个hash bit中的7个,还有有三个bits需要遍历
       即,需要遍历8个大概8个page
   
   b/c的思路和a一样
   
   d,hashbit中不包含z的信息,所以需要遍历整个文件

Query Cost for MA.Hashing

image.png

问题:

image.png

解答:
     1.先解决d的值,也就是hash value的长度
     hashvalue的长度取决于pages的数量
     
     题目中存在r=819200个records, 根据答案意思C=100指每个page中可容纳的records数量
     则共拥有819200/100 = 8192个page
     
     现在可以确定d的值,也就是2^d = 8192, d = 13
     
     2.根据一定的概率去分配每一个attr可以contribute到hashvalue的bit的数量
         总共就3种pmr query
         id出现的可能性为0.25
         name可能性0.5
         colour可能性0.75
         
         但是仅仅按照可能性分布不合理
         
         id在attr上显示是10^10bits,则可能有2^34的可能性