我正在使用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
1条答案
按热度按时间3bygqnnd1#
此查询相当于:
我能想到的构造这样一个查询的唯一原因是“100”是否可以设置为另一个值。我不确定SQLServer的优化器是否足以消除
ORDER BY
在子查询中。