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?
  • Вопрос задан
  • 417 просмотров
Пригласить эксперта
Ответы на вопрос 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;
Ответ написан
Ваш ответ на вопрос

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

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