У меня есть таблица со следующими именами столбцов: audit_name, audit_choice и «slno» в качестве первичного ключа с автоматическим добавлением и без использования выходных данных.Оптимизируйте запрос mysql, чтобы выбрать значения
Имя audit_name может быть повторено, а значения audit_choice ограничены определенными значениями, такими как «Пройден», «Сбой».
Ожидаемый результат моего запроса - получение количества счетчиков «Пропущенных» и «Сбой» для каждого «Аудиторского имени».
Вот запрос, который я пробовал, но требуется около 3-4 минут для выполнения около 1000 записей.
SELECT audit_name,
(SELECT COUNT(*) AS Passed FROM audit AS p1
WHERE p1.audit_name=p2.audit_name AND p1.audit_choice="Passed") AS Passed,
(SELECT COUNT(*) AS Failed FROM audit AS p3
WHERE p3.audit_name=p2.audit_name AND p2.audit_choice="Failed") AS Failed
FROM audit AS p2
GROUP BY audit_name
Просьба предложить мне, как я могу оптимизировать запрос.
Чтобы уточнить, выражение типа 'audit_choice = 'Passed'' возвращает логическое значение, которое равно 0 для False и 1 для True. –
спасибо, это работает чудо – AjayR