- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Вопрос по SQL
есть две таблицы:
и
Формируются так:
Мне приходит json с данными для обновления:
где value = name в таблице 1, checked = is_checked в таблице 2(form_condition)
Исходя из этих данных, мне нужно наименьшим количеством запросов обновить данные в таблице form_condition, я написал 2 варианта запроса, но может что упускаю - Кто подскажет, как это сделать проще всего?
Я использую python+sqlalchemy, но вообще интересует sql-скрипт апдэйта. Свои пока не привожу, чтобы не навязать свое решение, может оно неоптимальное
Эм... ну формируйте запросы соединяя их. Будет два запрос, один на первую таблицу, второй на вторую.
Тоже мне инженер 😁 гнать таких сраной метлой
Эм... ну формируйте запросы соединяя их. Будет два запрос, один на первую таблицу, второй на вторую.
Я видимо непонятно обьяснил задачу
Тоже мне инженер 😁 гнать таких сраной метлой
Серьезно? А если у меня будет 50 name в condition? " Это раз и второе - твой код вообще не будет работать
Что по итогу попадет в is_checked?
Я видимо непонятно обьяснил задачу
Это же не академическая у вас задача?
Тогда не понимаю в чём суть ограничения количества запросов, если они простые и рубят по индексу? Если дело в скорости, можно выключить обновление индексов и потом отдельно запустить. Также всё один COMMIT вставить.
Серьезно? А если у меня будет 50 name в condition?
Удивительно как только тебя держат, хотя чего удивляться начальники у вас ещё тупее по ходу..
Пусть хоть миллион, в запросе выборка идёт только полей с
t1.name IN('new','used','demo') AND t1.id=t2.condition_id
Это же не академическая у вас задача?
Нет. Суть - найти оптимальное и красивое решение. естественно что все работает и в пределах коммита и в транзакции. Но не хотелось бы идти в базу 50 раз когда можно 2
Все крутится на AWS с оплатой за ресурсы
Удивительно как только тебя держат, хотя чего удивляться начальники у вас ещё тупее по ходу..
Пусть хоть миллион, в запросе выборка идёт только полей с
CASE тут вообще не нужен. А еще раз начнешь переходить на личности - увидишь результат.
Какие значения попадут в is_checked? Пример
Нет. Суть - найти оптимальное и красивое решение. естественно что все работает и в пределах коммита и в транзакции. Но не хотелось бы идти в базу 50 раз когда можно 2
Все крутится на AWS с оплатой за ресурсы
А может быть поменять первичный индекс? Убрать этот id_ а вместо него использовать name т.к. он там же будет уникальный. Тогда у нас отпадёт надобность обращаться вообще во вторую таблицу, чтобы узнать его id
Вторая таблица останется чисто на вывод информации.
А может быть поменять первичный индекс? Убрать этот id_ а вместо него использовать name т.к. он там же будет уникальный. Тогда у нас отпадёт надобность обращаться вообще во вторую таблицу, чтобы узнать его id
Вторая таблица останется чисто на вывод информации.
Есть бизнесрулы, которые я не могу менять на лету. Меня интересует оптимальный запрос, только)
Попробовал вставить вариант арбнета в консоль - чекер мне покрутил у виска))) Ошибка на ошибке. Не знаю, может в мускле так можно, постгрес ругается. Невозможно апдейтать по 2-м таблицам