Перейти к содержимому


Вопрос по SQL-запросу - один или два?


  • Вы не можете ответить в тему
Сообщений в теме: 5

#1 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 22 April 2013 - 03:46 PM

Вводная:
<select multiselect> возвращает массив с выбранными элементами. Т.е. информации о НЕвыбранных нет. И обычно я делаю два SQL-запроса - одним сбрасываю ВСЕ поля в ноль (к примеру), вторым устанавливаю выбранные поля в единицу.

И что-то меня поставил в тупик вопрос, как в теории-то лучше сделать с точки зрения меньшей нагрузки на SQL-сервер - два последовательных запроса

UPDATE table SET field=0;
UPDATE table SET field=1 WHERE field1 IN (1,2,3,4,5);

или один запрос

UPDATE table SET field= IF(field1 IN (1,2,3,4,5),1,0);
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#2 eugene_wb

    Продвинутый пользователь

  • Модераторы
  • 827 сообщений
Репутация: 167
Мастер

Отправлено 22 April 2013 - 03:48 PM

тут нужно только бенчмарки произвродительности смотреть (если они есть)
  • 0
Изображение Изображение Изображение

#3 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 23 April 2013 - 06:38 AM

<select multiselect>

Лучше мультиселект не использовать, насколько я помню он не во всех браузерах работает.
  • 0

#4 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 23 April 2013 - 07:25 AM

Лучше мультиселект не использовать, насколько я помню он не во всех браузерах работает.

Маловероятно. Мультиселект используется штатно в shopCMS, который писался где-то в районе 2007-го года (админка Яндекс.Маркета, управление блоками).
Уж если тогда это не было чем-то криминальным, то сейчас и подавно :).
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#5 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 23 April 2013 - 07:37 AM

Да, вспомнил это не в селекте он неработает а в input с типом file - когда делал чтобы несколько файлов сразу можно было выбирать.

З.Ы. Хотя в селекте тоже были какие-то проблемы )) ..... ну ты я думаю еще столкнешься с ними )))))
  • 0

#6 eugene_wb

    Продвинутый пользователь

  • Модераторы
  • 827 сообщений
Репутация: 167
Мастер

Отправлено 23 April 2013 - 08:48 AM

Да, вспомнил это не в селекте он неработает а в input с типом file

раньше массовую загрузку обходили с помощью флеша, сейчас уже плавно переходят на html5
  • 0
Изображение Изображение Изображение