当前位置: 首页 > 工具软件 > seventh > 使用案例 >

PostgreSQL seventh class

闻人景澄
2023-12-01
  1. 签名索引
    除了hash 之外 更好的索引方式
    A signature summarises the data from one tuple
//Generating a k-in-m codeword for attribute Ai

bits codeword(char *attr_value, int m, int k)
{
   int  nbits = 0;   // count of set bits
   bits cword = 0;   // assuming m <= 32 bits
   // 类似于 seed(1) 定好seed 之后 下面random 值都是固定的 
   // for example attribute 传进来 只要是 china seed 就是固定的
   srandom(hash(attr_value));
   while (nbits < k) {
   	// 根据 seed 的 值 取 随机数
      int i = random() % m;
      if (((1 << i) & cword) == 0) {
         cword |= (1 << i);
         nbits++;
      }
   }
   // m-bits with k 1-bits and m-k 0-bits
   return cword;  
}

cost page = bD + bQ
D是获取query index 所需要的pages
Q是用获取的query 与 有可能符合条件的 tuple 进行match 需要的pages

  1. 比较 如果有 500w 个 data pages 它对应的 page index pages 有 5000 个 而 bit-sliced pages 有可能只有几十个 海量降低page cost 大大提高读写效率, 这就是index 的作用。我想知道500w个data pages 的信息, 只需read 5000个bit-sliced pages 随即找到对应的query page 和 query tuple。
 类似资料:

相关阅读

相关文章

相关问答