SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 15.03.2011 17:52:04

simple
Активист
Зарегистрирован: 25.11.2010
Сообщений: 168

Подскажите как лучше

Здравствуйте, вопрос в следующем, какая проверка данных в ХП будет эффективней с точки зрения производительности MYSQL

Пример 1:
proc:BEGIN
SELECT `usr` INTO `_usr`FROM tbl WHERE usr='Petya';
IF(FOUND_ROWS()=0) THEN LEAVE proc;END IF;
# Какой то дальнейший код.
END
Если в таблицы tbl нету юзера по имени 'Petya' то дальнейшее выполнения процедуры прекращается.

Пример 2:
BEGIN
DECLARE EXIT HANDLER FOR NOT FOUND
SELECT `usr` INTO `_usr`FROM tbl WHERE usr='Petya';
# Какой то дальнейший код
END
Тут событие срабатывает на обработчики HANDLER.
Подскажите какой метод будет лучше, а то уже измучился весь сомнениями, или может есть еще альтернатива проверки данных?
Спасибо.

P.S И какой цикл лучше использовать WHILE DO или LOOP?

Отредактированно simple (15.03.2011 17:57:20)

Неактивен

 

#2 17.03.2011 00:38:38

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Подскажите как лучше

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson