Я ищу способ оптимизировать следующее:
SELECT
(SELECT SUM(amount) FROM Txn_Log WHERE gid=@gid AND txnType IN (3, 20)) AS pendingAmount,
(SELECT COUNT(1) FROM Txn_Log WHERE gid = @gid AND txnType = 11) AS pendingReturn,
(SELECT COUNT(1) FROM Txn_Log WHERE gid = @gid AND txnType = 5) AS pendingBlock
где @gid - параметр, а gid - индексное поле в этой таблице. Проблема: каждый подзапрос повторяется с одним и тем же набором записей - три повторных запроса - это слишком много.