Интересно, используется ли выражение CASE ... WHEN ... THEN в запросах MySQL
{{1 }} отрицательно влияет на производительность?
Вместо использования выражения CASE (например, внутри вашего запроса UPDATE)
у вас всегда есть возможность использовать оператор if else в вашей программе
{{1 }} написано на php, python, perl, java, ..., чтобы выбрать, какой запрос отправлять, например (в псевдокоде):
prepareStatement(
"UPDATE t1 SET c1=c1+1, msg=CASE (@v:=?) WHEN '' THEN msg ELSE @v END"
);
setStatementParameter(1, message);
или внутри:
if (message == "") {
prepareStatement("UPDATE t1 SET c1=c1+1");
} else {
prepareStatement("UPDATE t1 SET c1=c1+1, msg=?");
setStatementParameter(1, message);
}
(c1 здесь нужен только для того, чтобы показать, что что-то происходит в обоих случаях)
Каким образом это дает лучшую производительность?
И сколько это снижает производительность?