3
Вопрос по SQL-запросу - один или два?
Автор badisoft, Apr 22 2013 03:46 PM
Сообщений в теме: 5
#1
Отправлено 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);
<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);
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)
#3
Отправлено 23 April 2013 - 06:38 AM
<select multiselect>
Лучше мультиселект не использовать, насколько я помню он не во всех браузерах работает.
#4
Отправлено 23 April 2013 - 07:25 AM
Маловероятно. Мультиселект используется штатно в shopCMS, который писался где-то в районе 2007-го года (админка Яндекс.Маркета, управление блоками).Лучше мультиселект не использовать, насколько я помню он не во всех браузерах работает.
Уж если тогда это не было чем-то криминальным, то сейчас и подавно .
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)
#5
Отправлено 23 April 2013 - 07:37 AM
Да, вспомнил это не в селекте он неработает а в input с типом file - когда делал чтобы несколько файлов сразу можно было выбирать.
З.Ы. Хотя в селекте тоже были какие-то проблемы )) ..... ну ты я думаю еще столкнешься с ними )))))
З.Ы. Хотя в селекте тоже были какие-то проблемы )) ..... ну ты я думаю еще столкнешься с ними )))))