选择操作与连接操作的实现

1、选择操作的实现

  • 1.1 全表扫描方法
  • 1.2索引扫描方法`使用于条件中的属性上有索引 ( B+树索引或Hash索引)

-1.2 通过索引先找到满足条件的元组或元组指针,再通过元组指针直接再查询的基本表中找到元组`

2、连接操作的实现

  • 嵌套循环算法

内外双层循环

  • 排序合并算法

对两个表排序(A,B),按连接属性扫描。如A为student,B为sc,按连接属性sno扫描,
1、取student中的第一个sno,依次扫描sc表中具有相同sno元组
2、当sc中的sno和student中选取的sno不相同,则student中sno换下一元组

  • 索引连接算法

1、在sc上建立属性sno的索引
2、对student中的每一个元组,由sno值通过sc的索引值查找相应的sc元组。
3、 把这些sc元组和student元组连接起来
重复2~3直到student表中的元组处理完为止

  • Hash Join算法

1、把连接属性作为hash码,用同一个hash函数把student表和sc表中的元组散列到hash表中
2、 划分阶段:把包含较少元组的表进行一遍处理;把它的元组按hash函数分散到hash表的桶中
3、试探阶段/连接阶段:a、把另一个表进行一遍处理;b、把sc表的元组也按同一个hash函数进行散列;
c、把sc元组与桶中来自于student表并与之相匹配的元组连接起来。

你可能感兴趣的:(sql,server)