Задать вопрос
swanrnd
@swanrnd
Издатель HTML5 игр

Как упростить запрос SQL?

SELECT param1, param2, param3 FROM table WHERE status=@status;
UPDATE table SET count+=1 WHERE param1=@param1 and param2=@param2 and param3=@param3 and status=0;
DELETE FROM table  WHERE param1=@param1 and param2=@param2 and param3=@param3 and status=@status;

Можно как-то оптимизировать param1-3?
  • Вопрос задан
  • 418 просмотров
Подписаться 4 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Инженер по тестированию
    5 месяцев
    Далее
  • Нетология
    Инженер по тестированию
    8 месяцев
    Далее
  • Thinknetica
    Профессиональная разработка на Ruby on Rails
    9 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
@maxtm
Make money, not job
Поясните цель оптимизации.
Если из-за того что у вас выборка по трем полям идут тормоза - повесьте индексы и один композитный на все три.
Если Вас смущает что в коде нужно писать три условия - уберите условия :)
Ответ написан
@pihel
Sql, Oracle, pl/sql, BI, ETL, php, olap
Можно сократить на 1 sql запрос
UPDATE table SET count+=1 WHERE ( param1, param2, param3 ) IN( SELECT param1, param2, param3 FROM table WHERE status=@status ) and status=0;
DELETE FROM table  WHERE ( param1, param2, param3 ) IN( SELECT param1, param2, param3 FROM table WHERE status=@status ) and status=@status;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы