答案 0 :(得分:0)
我会捅它。
I\O Cost
来自您目前正在处理的任何行数。
计划A :
您select
所有产品和所有供应商。这是你要做的7300行。但是这个示例也会join
,这意味着每个供应商都会拥有所有产品,因此它select
300 * 7000 = 2100000。
然后,您必须对2100000行进行操作才能启动供应商代码过滤器。
然后,您必须对7000行进行操作才能启动状态过滤器,因为您之前已过滤到初始产品列表。
计划B :
有一个拼写错误,IN()
没有右括号。
首先是您的IN
,因为您的查询需要完成数据集。您知道您有300家供应商,因此您正在为300家供应商工作,将其过滤到10家。
然后select
您的所有产品和所有佛罗里达供应商,以便您使用7010行,7000个产品,10个供应商(来自上一步),以便您可以执行{{1}这为每个供应商提供了7000种产品。
10 * 7000表示您现在正在使用70000行来执行join
上的最终过滤。
总I / O成本是每个处理步骤的总和。
我希望这是有道理的。