【发布时间】:2016-07-05 19:58:39
【问题描述】:
员工(姓名、职务、dname、地址) 都是相同长度的字符串字段。
ename 属性是候选键。 该关系包含 10,000 页。 有 10 个缓冲页。
查询是: 选择 E.title,E.ename 来自员工 E WHERE E.title=‘管理员’
假设只有 10% 的 Employee 元组满足选择条件。
假设 ename 上的聚集 B+ 树索引(唯一索引)可用。最佳计划的成本是多少?
我将如何计算这笔费用?如果标题上有一个聚集的 B+ 树索引,我将如何计算?
另一个查询: 选择 E.ename 来自员工 E WHERE E.title=‘管理员’ AND E.dname=‘财务’
假设只有 10% 的 Employee 元组满足条件 E.title ='Administrator',只有 10% 满足 E.dname ='Finance',只有 5% 满足这两个条件。
假设一个聚集的 B+ 树索引是(唯一的)可用的。最佳计划的成本是多少?
专家!请帮忙。任何 cmets/建议将不胜感激。我想了解整个过程。我做了很多研究,我想我知道如何计算每个操作的成本,让我困惑的是他们说关系包含 10,000 页而不是说每页中有多少个元组?根据我所学到的,我相信我们必须以元组的形式获得关系的总大小,对吗?为什么?
感谢任何花时间阅读问题的人:-)
【问题讨论】:
-
我不知道成本是多少 - 但是在所有情况下,使用 any 索引进行第一个查询的查询很可能比全表扫描慢。第二个查询可能也是如此。
-
我认为您需要使用explain 语句才能更好地理解。
标签: mysql query-optimization cost-based-optimizer