如何计算加盟费用?我想知道磁盘操作吗?

时间:2011-04-24 07:23:41

标签: database database-design optimization join

我想要一些关于加入处理的帮助

  1. 嵌套循环加入
  2. 阻止嵌套循环连接
  3. 合并加入
  4. 哈希加入
  5. 我搜索但没有找到一些也提供计算数学例子的链接?

    e.g。

    考虑自然联合R&关系R和S的S,以及关于这些关系的以下信息:

    Relation R包含8,000条记录,每页有10条记录

    Relation S包含2,000条记录,每页有10条记录

    两个关系都作为已排序文件存储在连接属性

    处理上面的四个连接需要多少磁盘操作?

1 个答案:

答案 0 :(得分:0)

您是否考虑过特定​​的dbms?

对于Oracle,您必须知道块大小,db_file_multiblock_read_count的配置以及缓存中已有的预期块数,每个表的高水位线,现有索引及其聚类因子,以提及一些事情。影响答案。

作为一般规则,每当我完全加入两个表时,我希望看到两个全表扫描和一个散列连接。每当我加入两个表的一部分时,我希望看到一个嵌套的循环从表中驱动,具有最具选择性的过滤谓词。

每当我感到惊讶时,我会调查统计数据和上面提到的事情来验证优化器的选择。