Знание автоматически сгенерированного запроса понимания
Я использую программное обеспечение для анализа данных, у меня проблемы с производительностью, сейчас я наблюдаю журнал "Аудит набора данных", чтобы увидеть, какие запросы выполняет система. Я нашел этот, который для меня, чушь
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]
на моем столе внешняя упаковка сделана знанием (я никогда не писал их)
не select count (*) from T
выполнили тот же расчет, но избегая дорогой заказ?
РЕДАКТИРОВАТЬ: Backend (источник данных) является MSSQL, сервер кэширования является MYSQL, поэтому частые запросы на MySQL
1 ответ
Этот запрос эквивалентен:
SELECT COUNT(*)
FROM [AFO];
Единственная причина, по которой я могу придумать для создания такого запроса, заключается в том, что для "100" может быть установлено другое значение. Я не уверен, что оптимизатор SQL Server достаточно хорош, чтобы устранить ORDER BY
в подзапросе.