У меня есть хранимая процедура, которая возвращает несколько параметров OUT, которые состоят из результатов SELECT COUNT(*)
запросов.Приведенный ниже фрагмент кода работает нормально, но кажется медленным.
У меня есть до 30 различных параметров OUT, поэтому это означает, что я выполняю 30 отдельных запросов, поэтому, вероятно, запрос выполняется так медленно.
Есть ли у кого-нибудь предложения о том, как я могу ускорить этот код?
PROCEDURE get_counts(
count1 OUT INT,
count2 OUT INT,
count3 OUT INT,
.. etc.
) IS
l_count1 INT;
l_count2 INT;
l_count3 INT;
.. etc.
BEGIN
SELECT COUNT(*) INTO l_count1 from table1 where condition_blah;
SELECT COUNT(*) INTO l_count2 from table1 where condition_blah;
SELECT COUNT(*) INTO l_count3 from table1 where condition_blah;
... etc
count1 := l_count1;
count2 := l_count2;
count3 := l_count3;
.. etc
END get_counts;