Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> "большой" update. Уложить в один запрос. 
:(
    Опции темы
KostaPC
Дата 18.2.2010, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 18.7.2008

Репутация: нет
Всего: нет



Обновление одной таблицы, являющейся связью "многие ко многим" с дополнительным полем.

Код

CREATE TABLE cworms.cw_usersweapons(
  fk_user_id INT(11) NOT NULL,
  fk_weapon_id INT(11) NOT NULL,
  items_count INT(11) NOT NULL
)

fk_user_id - ссылка на пользователя
fk_weapon_id - ссылка на оружие
items_count - количество.

Собственно для одного fk_user_id нужно обновить множество разных items_count.

От приложения приходит массив парами array("fk_weapon_id"=>"items_count")
fk_users_id естественно известно.

Нужно уложить в один запрос, например в вызов сохраненки. 
explode в MySQL штатно нет. Но если очень захотеть - можно его написать (что не хочется).

была мысль создавать временную таблицу, туда все инсертать, потом оттуда сохраненкой вычитывать и обновлять конечную таблицу. 

Запрос быть максимально производительным.


Это сообщение отредактировал(а) KostaPC - 18.2.2010, 20:16
PM MAIL WWW Jabber   Вверх
skyboy
Дата 18.2.2010, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



Цитата(KostaPC @  18.2.2010,  19:14 Найти цитируемый пост)
Нужно уложить в один запрос, например в вызов сохраненки. 

а че, несколько запросов, разделенные ";" не прокатят?
Цитата(KostaPC @  18.2.2010,  19:14 Найти цитируемый пост)
Запрос быть максимально производительным.

сначала понаставлять ограничений(вот чем не устраивает несколько запросов в одной транзакции?), а потом - ожидать максимальной производительности. зачем?
PM MAIL   Вверх
KostaPC
Дата 19.2.2010, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 18.7.2008

Репутация: нет
Всего: нет



Цитата

а че, несколько запросов, разделенные ";" не прокатят?

Хм.. А это отличная и, главное, твивиальная идея! 
Спасибо за совет.

Цитата

сначала понаставлять ограничений..

Ограничения достаточно условные, просто спроектировано так, что удобней всего вызывать одну процедуру, а не запросы.
До недавнего времени этого вполне хватало.
PM MAIL WWW Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0632 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.