Время от времени зависает хранимая процедура. Какие-нибудь советы?Сохраненная процедура висит
BEGIN
DECLARE bookId int;
SELECT IFNULL(id,0) INTO bookId FROM products
WHERE
isbn=p_isbn
and stoc>0
and status='vizibil'
and pret_ron=(SELECT MAX(pret_ron) FROM products
WHERE isbn=p_isbn
and stoc>0
and status='vizibil')
ORDER BY stoc DESC
LIMIT 0,1;
IF bookId>0 THEN
UPDATE products SET afisat='nu' WHERE isbn=p_isbn;
UPDATE products SET afisat='da' WHERE id=bookId;
SELECT bookId INTO obookId;
ELSE
SELECT id INTO bookId FROM products
WHERE
isbn=p_isbn
and stoc=0
and status='vizibil'
and pret_ron=(SELECT MAX(pret_ron) FROM products
WHERE isbn=p_isbn
and stoc=0
and status='vizibil')
LIMIT 0,1;
UPDATE products SET afisat='nu' WHERE isbn=p_isbn;
UPDATE products SET afisat='da' WHERE id=bookId;
SELECT bookId INTO obookId;
END IF;
END
Когда он висит он делает это на: | 23970842 | имя пользователя | sqlhost: 54264 | база данных | Запрос | 65 | Отправка данных | ВЫБРАТЬ IFNULL (идентификатор, 0) INTO BookID ИЗ продуктов ГДЕ = NAME_CONST ISBN ('p_isbn', _ utf8'973-679-50 | 0,000 |
| 1133136 | Имя пользователя | sqlhost: 52466 | _emindb базы данных | Запрос | 18694 | Передача данных | ВЫБРАТЬ IFNULL (идентификатор, 0) INTO BookID ИЗ продуктов ГДЕ = NAME_CONST ISBN ('p_isbn', _ utf8'606-92266- | 0,000 |