SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 06.02.2012 13:19:01

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

UPDATE на 2 таблицы

Здравствуйте, имеет ли смысл писать такой запрос если нужно обновить сразу две таблицы:


START TRANSACTION;
UPDATE table1 AS t1,table2 AS t2
SET t1.column = value,
      t2.column = value
WHERE t1.id = value AND t2.id = value;
COMMIT;
 

Или же лучше воспользоваться двумя простыми запросами?
Будет ли выигрыш?

Неактивен

 

#2 06.02.2012 13:47:28

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: UPDATE на 2 таблицы

На первый взгляд кажется, что будет проигрыш, связанный с выполением full join. Если бы t1 JOIN t2 USING(id), то проигрыша бы не было.

Неактивен

 

#3 06.02.2012 13:52:29

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

Re: UPDATE на 2 таблицы

а почему full join? ведь обновление идет по первичным ключам

PS. в сети встречал комментарии что UPDATE с JOIN в 3 раза медленней работает

Но меня интересует именно обновление про PK т.е по одной уникальной записи в каждой таблице

Отредактированно simple (06.02.2012 17:22:34)

Неактивен

 

Board footer

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