knowage自动生成查询理解

cld4siwp  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(622)

我正在使用knowage软件进行数据分析,我面临性能问题,现在我正在查看“数据集审核”日志,看看系统执行什么查询。我发现这个对我来说是无稽之谈:

SELECT COUNT(*) 
FROM 

(select TOP(100) PERCENT "ATC_1" AS "ATC_1" 
from 

    (SELECT [ID_AFo]
          ,[ATC]
          ,[ATC_1]
          ,[ATC_3]
          ,[ATC_4]
          ,[ATC_5]

      FROM [AFO]

        ) T  order by "ATC_1" ASC
) u

内部 T 查询是我输入的数据集定义查询,基本上是 select * from [AFO] 在我的table上,外层 Package 是由knowage制作的(我从来没有写过)
不是吗 select count (*) from T 是否执行了相同的计算,但避免了昂贵的订单?
编辑:后端(数据源)是mssql,缓存服务器是mysql,所以经常查询mysql

3bygqnnd

3bygqnnd1#

此查询相当于:

SELECT COUNT(*)
FROM [AFO];

我能想到的构造这样一个查询的唯一原因是“100”是否可以设置为另一个值。我不确定SQLServer的优化器是否足以消除 ORDER BY 在子查询中。

相关问题