Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 旁白)。请发布生成此计划的实际查询,其中可能有错误。对于项目2上的FTS,计划1中的成本=5579基数=872654字节=11344502,以及计划2中的项目主控上的FTS,这是一个剪切粘贴作业吗?如果您希望我们能够帮助您,您需要更加小心。我不知道这两个查_Sql_Oracle - Fatal编程技术网

Sql 旁白)。请发布生成此计划的实际查询,其中可能有错误。对于项目2上的FTS,计划1中的成本=5579基数=872654字节=11344502,以及计划2中的项目主控上的FTS,这是一个剪切粘贴作业吗?如果您希望我们能够帮助您,您需要更加小心。我不知道这两个查

Sql 旁白)。请发布生成此计划的实际查询,其中可能有错误。对于项目2上的FTS,计划1中的成本=5579基数=872654字节=11344502,以及计划2中的项目主控上的FTS,这是一个剪切粘贴作业吗?如果您希望我们能够帮助您,您需要更加小心。我不知道这两个查,sql,oracle,Sql,Oracle,旁白)。请发布生成此计划的实际查询,其中可能有错误。对于项目2上的FTS,计划1中的成本=5579基数=872654字节=11344502,以及计划2中的项目主控上的FTS,这是一个剪切粘贴作业吗?如果您希望我们能够帮助您,您需要更加小心。我不知道这两个查询中的PM1是什么,但无论如何,两个查询的结果完全不同,第二个甚至可能不起作用,因为在这种情况下,子查询最多可以返回一条记录。我不清楚你想达到什么目的。能否提供一些更具体的表结构和实际数据,包括源数据和结果数据?这取决于where子句、orde



旁白)。请发布生成此计划的实际查询,其中可能有错误。对于项目2上的FTS,计划1中的
成本=5579基数=872654字节=11344502
,以及计划2中的项目主控上的FTS,这是一个剪切粘贴作业吗?如果您希望我们能够帮助您,您需要更加小心。我不知道这两个查询中的
PM1
是什么,但无论如何,两个查询的结果完全不同,第二个甚至可能不起作用,因为在这种情况下,子查询最多可以返回一条记录。我不清楚你想达到什么目的。能否提供一些更具体的表结构和实际数据,包括源数据和结果数据?这取决于where子句、order by子句和分组。在您的情况下,它们是什么?where取决于用户输入。查询支持报表,用户可以根据希望查看的报表视图输入输入。在最坏的情况下,可能有最小值或没有。“order”和“grouping”子句将如何影响查询性能?在您的第一个计划中,CBO首先将细节表连接在一起,这对于发布的查询来说很奇怪(错误除外)。请发布生成此计划的实际查询,其中可能有错误。对于项目2上的FTS,计划1中的
成本=5579基数=872654字节=11344502
,以及计划2中的项目主控上的FTS,这是一个剪切粘贴作业吗?如果您希望我们能够帮助您,您需要更加小心。+1尽管在边缘情况下,如产生小结果集的大型复杂查询,第二种方法如果使用得当,可能非常方便。如果没有where子句、排序、,在PM1和PM2列上进行分组。这是否意味着在某些情况下,第二次查询可以执行第一次查询?请提供一些关于这些的详细信息(文章、链接)comments@Rohan它的意思是“视情况而定”。如果你想要一条经验法则,我已经给出了一条。+1尽管在边缘情况下,如产生小结果集的大型复杂查询,第二种方法可以非常方便,如果使用得当。如果没有where子句,排序,在PM1和PM2列上进行分组。这是否意味着在某些情况下,第二次查询可以执行第一次查询?请提供一些关于这些的详细信息(文章、链接)comments@Rohan它的意思是“视情况而定”。如果你想要一个经验法则,我已经给你了。谢谢你,杰克。那确实是一个打字错误。我问这个问题是因为我找到了这两种类型查询的查询计划。第二个虽然冗长,但与第一个相比成本更低。这是否意味着从长远来看,第二个查询将具有最佳性能?o“您的第一个查询是执行您尝试执行的操作的“正常”方式,并且会很快。”。您是否有一个最低限度的工作示例来显示第二种方法的较低成本?也许是一把SQL小提琴?或者张贴你的计划。顺便说一句,作为一项规则,你是。如果我想比较,我通常使用一个
union all
。我已经添加了两个查询的查询计划供您参考。谢谢你的努力。谢谢你,杰克。那确实是一个打字错误。我问这个问题是因为我找到了这两种类型查询的查询计划。第二个虽然冗长,但与第一个相比成本更低。这是否意味着从长远来看,第二个查询将具有最佳性能?o“您的第一个查询是执行您尝试执行的操作的“正常”方式,并且会很快。”。您是否有一个最低限度的工作示例来显示第二种方法的较低成本?也许是一把SQL小提琴?或者张贴你的计划。顺便说一句,作为一项规则,你是。如果我想比较,我通常使用一个
union all
。我已经添加了两个查询的查询计划供您参考。谢谢你的努力。

SELECT PM.SOME_COL_1,
       PM1.COL1,
       PM1.COL2
  FROM PROJ_MASTER PM, PROJ_SUB_1 PS1, PROJ_SUB_2 PS2
 WHERE PM1.COL1 = PS1.COL1
   AND PM1.COL2 = PS2.COL2

SELECT PM.SOME_COL_1,
       (SELECT DISTINCT PM1.COL1
         FROM PROJ_SUB_1 PS1
       WHERE PM.COL1 = PS1.COL1) AS COL1
       (SELECT DISTINCT PM1.COL2
         FROM PROJ_SUB_2 PS2
       WHERE PM.COL2 = PS2.COL2) AS COL2
  FROM PROJ_MASTER PM

SELECT STATEMENT, GOAL = ALL_ROWS   Cost=23827  Cardinality=1037978 Bytes=76810372
 HASH UNIQUE                Cost=23827  Cardinality=1037978 Bytes=76810372
  HASH JOIN             Cost=5638   Cardinality=1037978 Bytes=76810372
   TABLE ACCESS FULL    Object owner=USER   Object name=PROJ_MASTER 
                                    Cost=5  Cardinality=557         Bytes=17267
   HASH JOIN                Cost=5619   Cardinality=872654  Bytes=37524122
    TABLE ACCESS FULL   Object owner=USER   Object name=PROJ_SUB_1
Cost=28 Cardinality=9827 Bytes=294810 TABLE ACCESS FULL Object owner=USER Object name=PROJ_SUB_2
Cost=5579 Cardinality=872654 Bytes=11344502

SELECT STATEMENT, GOAL = ALL_ROWS     Cost=9810 Cardinality=872654  Bytes=11344502
 TABLE ACCESS FULL  Object owner=USER   Object name=PROJ_SUB_1
Cost=5 Cardinality=1 Bytes=31 TABLE ACCESS FULL Object owner=USER Object name=PROJ_SUB_2
Cost=28 Cardinality=1 Bytes=30 HASH UNIQUE Cost=9810 Cardinality=872654 Bytes=11344502 TABLE ACCESS FULL Object owner=USER Object name=PROJ_MASTER Cost=5579 Cardinality=872654 Bytes=11344502
SELECT PM.SOME_COL_1,
       COL1,
       COL2
  FROM PROJ_MASTER PM 
       JOIN PROJ_SUB_1 USING (COL1) 
       JOIN PROJ_SUB_2 USING (COL2)